0530-3433334

网站建设 APP开发 小程序

知识

分享你我感悟

您当前位置>首页 >> 知识 >> 软件开发

自动化工程如何提高元素定位的准确性?

发表时间:2023-10-12 17:00:57

文章来源:炫佑科技

浏览次数:195

菏泽炫佑科技

自动化工程如何提高元素定位的准确性?

1、如何判断一个元素是否存在?

回答:

2、or=none中的元素能否定位到?

答:无法定位

3、如何保证操作要素的成功率? 换句话说,如何确保我点击的元素是可点击的?

答案:(1)添加元素的智能等待时间:.(30)

(2)使用try方法以不同的方式定位id、name、clas、xpath、css。 如果**种方法失败,您可以自动尝试第二种方法。

自动化打开软件_自动软件开发模式_自动化软件开发

(3)通过元素的定位来保证元素的成功率。 当然,定位方法有很多种,一定有一种适合自己。 然而,在自动化项目的实施过程中,高质量的自动化测试并不能靠测试人员来保证。 有必要开发者规范开发习惯,比如给页面元素添加唯一的名称、id等,这样可以大大提高元素定位的准确性。 当然,如果开发者开发不规范的话,我们在定位元素时应该尽量使用相对地址定位,这样可以减少元素定位对页面变化的影响。只要我们的元素定位准确,就可以保证每一次操作达到预期结果。

4、如何提高脚本的执行速度?

答:脚本的执行速度受很多因素影响,比如网络速度、操作步骤的复杂程度、页面加载的速度、我们在脚本中设置的等待时间、运行脚本的线程数等因此,我们不能片面追求跑步速度。 我们要保证稳定性,*关键的是能够稳定地进行回归测试。

1)我们可以从以下几个方面来提高速度:

1、减少操作步骤。 如果我们要测试的页面经过三四步就可以打开,我们可以直接通过URL打开,减少不必要的操作。

2. 中断页面加载。 如果页面加载的内容过多,我们可以检查加载缓慢的原因。 如果加载的内容不影响我们的测试,则设置超时并中断页面加载。

3、设置等待时间时,可以使用sleep来固定时间自动化工程如何提高元素定位的准确性?,也可以检测到某个元素的出现,中断等待以提高速度。

4、配置实现多线程。 在编写测试用例时,一定要做到松耦合,然后,如果服务器允许的话,尽量设置多线程运行,以提高执行速度。

5.用例在运行过程中经常变得不稳定。 也就是说,这次通过了,下次就不会通过了。 如何提高用例的稳定性?

答案:time.sleep(),.(30),大多使用try来捕获和处理异常。 这个时候我们就需要分析不稳定的原因,然后有针对性的解决问题。

那么主要有以下几个方面:

1、网速问题:有时网页加载缓慢,程序执行时所要操作的元素没有显示出来。 这种情况比较常见。 如果运行一次并且网速不错的话就可以通过。 如果再次运行,则不会显示该页面。 如果打开的话就不会通过。 为了提高稳定性,我们只能牺牲运行时间,在经常检测不到的元素之前增加等待时间,等待要操作的元素出现后再执行后面的操作。

二、原因:.0和2.0还是有区别的。 有些功能在2.0下运行时有时有效有时无效。 如果是()函数就是这种情况,我们需要避免使用这样的函数。

3. 在多线程中,测试用例之间是交互的。 虽然使用多线程时运行速度较快,但如果用例之间的耦合设计不好,也会受到影响。 如果用例A先于用例B执行,则会影响用例B; 反之亦然,没有问题。 。 在这种情况下,如果你的自动化测试项目打算是多线程的,那么你必须提前放松测试用例的耦合性,虽然没关系,因为多线程的执行顺序是不受控制的。

自动软件开发模式_自动化打开软件_自动化软件开发

6. 您的自动化用例的执行策略是什么?

答:自动化测试用例的执行策略取决于自动化测试的目的。 通常有以下策略:

1.采用自动化测试用例进行监控。 为此,我们设置了定期执行的自动化测试用例。 如果每五分钟或一小时执行一次,那么您可以在其上创建计划任务。

2. 必须返回的用例。 有些测试用例,例如BVT测试用例,我们需要在公司产品的任何更改推出之前执行回归。 然后我们设置测试用例来触发执行,并将我们的自动化测试任务绑定到开发的构建任务上。 当开发人员在模拟环境中编码时,我们的自动化测试用例将被触发并执行。

3.不需要频繁执行的测试用例。 与完整的测试用例一样,我们不需要一直返回执行。 毕竟时间还是消耗的,一些非主业线并不需要频繁返回。 我们对这种类型的测试用例使用手动执行。 我们创建一个任务,并在需要执行时手动构建它。

7.什么是持续集成?

答:持续集成源于极限编程(XP),是一种软件实践。 软件开发过程中的集成步骤是一个漫长且不可预测的过程。 集成过程中可能会出现大量问题,因此集成过程需要尽可能小、数量多。 事实上,持续集成就是不断地集成软件。 持续集成*简单的形式包括一个用于监视版本控制(SVN 等)更改的工具。 当发现更改时,该工具会自动编译和测试您的应用程序。

自动化打开软件_自动软件开发模式_自动化软件开发

8、自动化测试时是否需要连接数据库进行数据验证?

答:UI自动化不需要,但是接口测试需要。

9. 在这些属性中,id、name、class、xpath、css,您*喜欢哪一个,为什么?

答:几乎所有元素都可以使用 css 和 xpath 进行定位。

10.如何定位页面上动态加载的元素?

答:触发动态加载元素事件,直到动态元素出现并定位。

11、如何定位属性动态变化的元素?

答案:通过兄弟姐妹、父母和孩子进行xpath或css定位

12、点击链接后自动化软件开发,是否会自动等待页面加载?

答:可以,请等待页面加载。

13、原理是什么?

答:实现原理:通过研究-的源码,发现实际的实现原理并不神秘,深不可测。 这里我们以ruby的-实现为例简单介绍一下它的工作原理。 当测试脚本启动时(), - 将首先在新线程中启动浏览器。 如果测试脚本指定了,则启动它,否则启动一个新的并启动它; 通常它以 no- 方法开始。 启动后,-将绑定到特定端口。 绑定完成后,该实例存在为; 客户端(即测试脚本)创建一个请求,在请求中解析通过http请求发送的请求,完成相应的操作并返回; 客户端接受并分析其返回值,以决定是否转到步骤3或结束脚本; 这是工作流程,看起来很复杂。 其实了解了实现原理之后,理解上面的问题应该是比较简单的。 它是按照--的经典设计模式设计的。 客户端是,可以是任何浏览器。 当我们的脚本启动浏览器时,浏览器的职责是等待请求发送并响应; 简而言之,就是我们的测试代码。 我们在代码中测试一些行为,比如打开浏览器、跳转到特定URL等操作,以http请求的形式发送到被测浏览器,即接受请求,对应的操作为执行完毕,并返回执行状态、返回值等信息;

14. 协议是什么?

答案:电线

15. 启动浏览器时使用哪种协议?

炫佑科技专注互联网开发小程序开发-app开发-软件开发-网站制作等

相关案例查看更多