Automation 独立于ui更改的测试用例自动化
我们正在为硬件设备(如tv、raspberrypi等)自动化测试用例,这些设备需要执行一定数量的步骤,并在每个步骤结束时检查预期结果。为了自动化这些测试用例,我们使用dom元素属性,如id、类、数据组件id等来获取对象并执行操作。 这种自动化方式的问题是,每次UI更改时,我们都需要更改dom元素id、类等,因此这是对脚本的返工。Automation 独立于ui更改的测试用例自动化,automation,Automation,我们正在为硬件设备(如tv、raspberrypi等)自动化测试用例,这些设备需要执行一定数量的步骤,并在每个步骤结束时检查预期结果。为了自动化这些测试用例,我们使用dom元素属性,如id、类、数据组件id等来获取对象并执行操作。 这种自动化方式的问题是,每次UI更改时,我们都需要更改dom元素id、类等,因此这是对脚本的返工。 我想知道是否存在自动化框架或任何其他方法,我们可以使用这些方法来自动化测试用例,而不依赖于ui更改。不要使用确切的路径,而是尝试以更通用的方式识别元素。使用“conta
我想知道是否存在自动化框架或任何其他方法,我们可以使用这些方法来自动化测试用例,而不依赖于ui更改。不要使用确切的路径,而是尝试以更通用的方式识别元素。使用“contains”将有助于您识别具有文本属性的元素,而不会影响其定义方式。因此,即使DOM结构发生变化,但如果文本相同,测试也不会失败 包含 它是一个非常方便的XPath Selenium定位器,有时还可以节省测试自动化工程师的生命。如果元素的属性是动态的,则可以对web元素的常量部分使用contains(),但也可以在需要时在任何情况下使用contains() 语法://标记[包含(@attribute,'value')] 示例://input[包含(@id,'er messa')] 示例: 爪哇 1. 2. 3. 4. 5. 6. 7. 8. //*[包含(@name,'btnClk')] -->它在“btnClk”中搜索DOM中的所有名称属性 //*[包含(text(),'here')] -->它在DOM中搜索文本“here” //*[包含(@href,'swtestacademy.com')]
-->它在DOM中搜索“swtestacademy.com”链接。这就是如果可能,您应该使用
id
选择器的原因。它们应该是唯一的,因此不受UI更改的影响。名称
选择器的工作方式应相同
如果您使用的是Selenium,请按优先顺序(不严格地)使用以下对象定位器列表:
- 身份证
- 名字
- 标签名
- 阶级
- CSS或Xpath
- 链接文本或部分链接文本