使用Selenium使用母版页测试ASP.NET站点

Ach*_*les 3 html asp.net selenium

在处理使用母版页在ASP.NET页面上呈现的控件的更改"名称"和"Id"属性时,避免Selenium测试被破坏的有效方法是什么?当ASP.NET使用不同的DOM标识符呈现网页控件时,我想避免更改我的测试.

Rob*_*vey 5

http://www.stevetrefethen.com/blog/AutomatedTestingOfASPNETWebApplicationsUsingSelenium.aspx

Selenium使用XPATH解决了这个问题,并提供了基于XPATH表达式定位控件的能力,减少了将HTML标记结构硬编码到测试脚本中的需要.例如,ASP.NET运行库可以呈现如下所示的ID属性:

id="ctl00_cphContents_gridMaint_DataGrid"
Run Code Online (Sandbox Code Playgroud)

使用XPATH表达式查找此控件可以简化为如下所示:

table[contains(@id, "gridMaint")]
Run Code Online (Sandbox Code Playgroud)

如果DataGrid的嵌套发生更改,只要表的ID包含文本"gridMaint",脚本将继续正常运行.