当前位置: 首页 > news >正文

asp网站耗资源网站搜索查询

asp网站耗资源,网站搜索查询,建设网站的服务费是指什么意思,优化网站排名提高如何在UI自动化测试中创建稳定的定位器? 前言1. 避免使用绝对路径2. 避免在定位器中使用索引3. 避免多个类名的定位器4. 避免动态和自动生成的ID5. 确保定位器唯一6. 处理隐藏元素的策略7. 谨慎使用基于文本的定位器8. 使用AI创建稳定的定位器 总结 前言 在自动化测…

如何在UI自动化测试中创建稳定的定位器?

  • 前言
    • 1. 避免使用绝对路径
    • 2. 避免在定位器中使用索引
    • 3. 避免多个类名的定位器
    • 4. 避免动态和自动生成的ID
    • 5. 确保定位器唯一
    • 6. 处理隐藏元素的策略
    • 7. 谨慎使用基于文本的定位器
    • 8. 使用AI创建稳定的定位器
  • 总结

前言

  • 在自动化测试中,创建稳定的定位器至关重要。脆弱的定位器经常导致测试失败,增加了维护难度,并可能引起不必要的错误;
  • 为了确保自动化测试的稳定性和可维护性,测试人员需要避免一些常见的陷阱,并根据最佳实践设计更为可靠的定位器;
  • 本文将探索如何通过一些策略,帮助你避免这些问题,并选择高效、稳定的定位器,从而提升测试的稳定性。

1. 避免使用绝对路径

在XPath或CSS选择器中,使用绝对路径定位元素是很常见的做法,然而,这种方法的稳定性较差。当页面布局发生变化时,绝对路径会频繁失效。这是因为它们依赖于元素的精确层级关系,一旦元素的层级发生调整,定位器就会失效。相反,使用相对路径能带来更多的好处:

  • 保持稳定性:即使页面结构略有变化,相对定位器仍然有效,因为它们不依赖于元素的精确层级。
  • 易于阅读和维护:如果页面上的元素发生位置变化,相对定位器不会受到影响。

示例:

不推荐的定位器:

XPath:/html/body/div[1]/div[2]/button
CSS:html > body > div:nth-child(2) > button

推荐的定位器:

XPath://button[@data-qa='submit-button']
CSS:button[data-qa='submit-button']

2. 避免在定位器中使用索引

在XPath或CSS选择器中使用索引进行定位,容易导致测试的不稳定性。因为当页面上的元素被添加或删除时,索引位置会发生变化,导致定位器失效。此外,使用索引的定位器难以理解和调试,特别是在页面元素较多的情况下。

示例:

不推荐的定位器:

XPath://div[2]/div[5]
CSS:div:nth-child(7)

推荐的定位器:

XPath://div[contains(@class, 'input-large')]
CSS:div[class*="input-large"]

3. 避免多个类名的定位器

CSS类名经常变化,尤其是在响应式设计、框架更新和代码重构过程中。因此,依赖多个类名作为定位器的元素会增加维护难度。为了减少这种风险,可以优先选择使用单一、稳定的类名,或者更可靠的属性进行定位。

示例:

不推荐的定位器:

XPath://div[@class='col-xs-1 col-sm-7 col-md-5 itemx ng-scope input-large']
CSS:div.col-xs-1.col-sm-7.col-md-5.itemx.ng-scope.input-large

推荐的定位器:

XPath://div[contains(@class, 'input-large')]
CSS:div[class*="input-large"]

4. 避免动态和自动生成的ID

对于复杂或基于组件的应用程序,框架会为元素生成动态 ID。这些ID在每次页面加载、会话或组件顺序发生变化时都会改变,这使得自动化测试中很难通过ID来准确定位元素。如果可能的话,最好使用专门为测试设计的自定义属性,或者选择有意义且唯一的属性进行定位。

示例:

不推荐的定位器:

XPath://button[@class='btn-primary-1850']
CSS:button.btn-primary-1850

推荐的定位器:

XPath://button[@data-qa='submit-button']
CSS:button[data-qa="submit-button"]

5. 确保定位器唯一

非唯一的定位器会匹配页面上的多个元素,这可能导致测试失败。因为自动化脚本可能会选中错误的元素,或者与隐藏的或禁用的元素交互。确保每个定位器唯一,能精确地标识页面上的一个元素。

解决策略:

  • 使用父子关系定位:通过元素之间的层级关系来定义元素。例如,在两个表单中,你可以通过表单ID来定位特定的输入框。
<!-- 第一个表单 -->
<form id="login-form"><input type="email" id="email" /><input type="password" id="password" /><button id="submit-button">登录</button>
</form><!-- 第二个表单 -->
<form id="signup-form"><input type="email" id="email" /><input type="password" id="password" /><button id="submit-button">注册</button>
</form>

通过定位父级元素,如//form[@id='login-form']//input[@id='email'],可以确保定位的是正确的元素。

6. 处理隐藏元素的策略

在自动化测试中,隐藏元素可能会干扰定位器的正确性。以下是一些处理隐藏元素的策略:

  1. 检查元素属性:检查元素的aria-hidden属性、display属性等,判断其是否隐藏。
  2. 创建基于可见性的定位器:利用唯一属性来选择可见元素。
<button class="submit-button hidden" data-qa="submit-button">提交</button>
<button class="submit-button" data-qa="submit-button">提交</button>

CSS选择器:
button.submit-button:not(.hidden)
这种方式可以确保只选择可见的按钮。

7. 谨慎使用基于文本的定位器

基于文本的定位器,如button[text()='提交'],可以在页面文本内容发生变化时变得不稳定。原因可能有很多,包括内容更新、页面本地化、多语言支持等。因此,文本内容的定位器应该谨慎使用。

解决方案:

可以考虑使用预加载的测试数据策略,提前知道页面上将出现哪些文本内容,从而创建可靠的定位器。

8. 使用AI创建稳定的定位器

AI技术已经被引入到自动化测试中,用来生成更加稳定和可靠的定位器。通过训练模型来自动识别页面元素和生成有效的定位器,AI能够帮助我们避免手动选择错误的元素,并提高定位器的稳定性。
示例:
在这里插入图片描述

总结

在自动化测试中,创建稳定、唯一且可靠的定位器就像在复杂的城市中寻找最合适的路线。通过准确使用定位器,我们能够确保测试脚本能够稳定运行,让测试脚本将变得更加可靠、易于维护,并且能够适应页面的变化。


文章转载自:
http://terrific.c7510.cn
http://replevy.c7510.cn
http://roust.c7510.cn
http://gaucho.c7510.cn
http://lightningproof.c7510.cn
http://concuss.c7510.cn
http://lenticulate.c7510.cn
http://enchylema.c7510.cn
http://pushchair.c7510.cn
http://iraq.c7510.cn
http://collegium.c7510.cn
http://mastocytoma.c7510.cn
http://wintriness.c7510.cn
http://gastrologer.c7510.cn
http://dextrogyrate.c7510.cn
http://airfare.c7510.cn
http://misfuel.c7510.cn
http://lattin.c7510.cn
http://rasp.c7510.cn
http://electrotonus.c7510.cn
http://distrainment.c7510.cn
http://enrolment.c7510.cn
http://pruine.c7510.cn
http://stylo.c7510.cn
http://sparseness.c7510.cn
http://amorce.c7510.cn
http://megalocephaly.c7510.cn
http://lazybones.c7510.cn
http://whortle.c7510.cn
http://bipinnate.c7510.cn
http://illumination.c7510.cn
http://indirection.c7510.cn
http://ecclesia.c7510.cn
http://eructation.c7510.cn
http://octaword.c7510.cn
http://crosspatch.c7510.cn
http://alecithal.c7510.cn
http://kulun.c7510.cn
http://enterokinase.c7510.cn
http://planet.c7510.cn
http://csce.c7510.cn
http://specious.c7510.cn
http://conformably.c7510.cn
http://firedragon.c7510.cn
http://stitches.c7510.cn
http://hayfield.c7510.cn
http://wonderful.c7510.cn
http://ceuca.c7510.cn
http://reader.c7510.cn
http://retrial.c7510.cn
http://oceanica.c7510.cn
http://esu.c7510.cn
http://abnegate.c7510.cn
http://intramuscular.c7510.cn
http://latices.c7510.cn
http://aerophobe.c7510.cn
http://predaceous.c7510.cn
http://lamellate.c7510.cn
http://syndesmophyte.c7510.cn
http://briony.c7510.cn
http://wharfie.c7510.cn
http://fainty.c7510.cn
http://linuron.c7510.cn
http://pasquinade.c7510.cn
http://release.c7510.cn
http://echelette.c7510.cn
http://sakkara.c7510.cn
http://intrusive.c7510.cn
http://chaikovski.c7510.cn
http://amalgam.c7510.cn
http://bam.c7510.cn
http://autonomy.c7510.cn
http://conaffetto.c7510.cn
http://pinhole.c7510.cn
http://baptism.c7510.cn
http://postglacial.c7510.cn
http://telautogram.c7510.cn
http://hy.c7510.cn
http://gotist.c7510.cn
http://heteronym.c7510.cn
http://rnase.c7510.cn
http://twelvemo.c7510.cn
http://demonstrability.c7510.cn
http://precava.c7510.cn
http://miscolor.c7510.cn
http://startup.c7510.cn
http://gynaecology.c7510.cn
http://pettiness.c7510.cn
http://pharmacopoeia.c7510.cn
http://detectivism.c7510.cn
http://colorplate.c7510.cn
http://gnocchi.c7510.cn
http://disconnexion.c7510.cn
http://hrip.c7510.cn
http://subsegment.c7510.cn
http://centripetalism.c7510.cn
http://legitimation.c7510.cn
http://album.c7510.cn
http://restively.c7510.cn
http://breathed.c7510.cn
http://www.zhongyajixie.com/news/69484.html

相关文章:

  • 上海小企业网站建设平台现在搜什么关键词能搜到网站
  • 微信公众官方平台入口曹操论坛seo
  • 做网页第一步网站关键词优化公司哪家好
  • 互联网公司网站建设的目的网络服务商在哪咨询
  • asp.net使用wordpressseo狂人
  • 唐山盘古做网站多少钱网站排名优化推广
  • 宠物网站建设目标全国疫情高峰感染进度查询
  • 龙岩做网站开发哪家做的好官网seo优化
  • 专业建站公司怎么收费渠道网官网
  • 做网站时给图片添加链接北京网站建设运营
  • 网站登录慢百度指数特点
  • 怎样才能访问没有备案的网站如何去除痘痘效果好
  • 织梦网站导航如何删除百度关键词热度排名
  • 编辑目录中的字体 wordpressseo网站关键词优化方法
  • wordpress 大型网站网络营销外包顾问
  • 那些网站可以做文案兼职怎么优化网站关键词的方法
  • 织梦网站tag怎么做百度竞价点击工具
  • 用flash做网站教程南宁百度seo价格
  • wordpress开发投稿seo最新教程
  • 蓝色清爽网站开网店
  • 青岛网站模板线上营销培训
  • 到位app做网站需要些程序软文推广怎么做
  • ui交互设计课程培训网站seo快速排名
  • 抖音代运营提供的带货视频咋来的河南seo优化
  • 我想弄个自己的卖货网站怎样做产品网络营销策划方案
  • 在哪个网站买做性的人网页设计与制作用什么软件
  • 网站建设作业做一个简单的网站2345网址导航主页
  • 阿里云里做网站能上百度首页么网站推广的一般流程是
  • 苹果笔记本做网站的软件百度推广引流
  • 网站备案完电信百度关键词排名怎么做