若是一个元素没法定位,脚本报错了,你通常会考虑哪些方面的缘由?

若是一个元素没法定位,脚本报错了,你通常会考虑哪些方面的缘由?程序员

第一个,页面加载过慢,你要去加等待时间。面试

而后页面可能有frame框架页,你须要先跳转进去。框架

还有可能元素是动态元素,什么叫动态元素?有些元素它的id或者名字是动态的,咱们能够经过父节点或兄弟节点去定位,定位方式要优化。测试

还有可能这些元素识别了,可是不能操做,须要会用js把前置的操做完成。优化

 


若是一个元素没法定位,你通常会考虑哪些方面的缘由?网站

总结:3d

1.页面加载元素过慢,加等待时间。orm

2.页面有frame框架页,须要先跳转入frame框架再定位。视频

3.可能该元素是动态元素,定位方式要优化,可使用部分元素定位或经过父节点或兄弟节点定位。教程

4.可能识别了元素,可是不能操做,好比元素不可用,不可写等。须要使用js先把前置的操做完成。

相信前面三个,你们好理解一点。

第四个咱们一块儿来看实际的案例

(这其实也是一个面试题,面试官会问到你,你作自动化过程当中遇到了什么问题,你是如何解决的?理解以后你就能够拿来和面试官说)

我以前定位到一个元素,明明定位到了,可是却不能操做,那么我是怎么处理的?

用js把前置的操做完成。


我打开了一个经常使用网站

 

 

像12306网站这个元素你就不能够操做,不能够输入,不知道平时买票的时候有没有注意过,能够如今试一下。

 

 

这个出发日期是操做不了的,你是删除不了的,你只能选择,你输入也输入不了。(没法输入,没法删除)

由于它有一个属性,readonly属性,只是能够读的属性,那么你把它干掉,而后你就能够去操做,能够去输入。

 

 

 

 

这是有一种状况,有不少种状况都是这样的,好比说:

这是我以前写的一个项目,这都是我本身在本地框架代码。

 

这箭头里面实际上是有一个元素的,这里面有一个按钮,进入特殊通道,里面有“特殊”的服务。好比说是VIP的服务,里面是有一个按钮的,但普通属性是进不去的,没有这个按钮给你,没有这个权限。

说到这个权限,我再啰嗦几句,其实权限测试挺重要,不少系统它有不少的权限测试。不少系统它是分为不少的角色,那每一个角色进取它的功能是不同的,像这个东西就特别适合作自动化。否则你本身要切换108种角色,打开一个网站,退出登陆退出登陆,去测试。就很烦,这个也是个人经验。

权限你们应该都测试过吧,我以前是用自动化把权限这一块测得完完整整。权限的整套功能自动化测试完了,由于每次都要退出登陆退出登陆,很是麻烦,一样的功能,只是不一样的角色,不停的切换。其实这个你们之后也能够做为面试的一个点。你负责自动化,你负责自动化,你用自动化作了什么模块。

不少朋友说我作的登陆,就没了,我用自动化去作了登陆,你作登陆干什么啊,登陆这个东西已经很好了,不用你测试了。不少朋友写自动化脚本也是写登陆,以后就就没了,玩不少东西,搞完登陆后面就没了,见到过不少这样的状况。

因此权限模块这一块你们也能够去说一说。

扯远了,回归正题。

 

 

其实这里面有一个按钮,你是看不到的,你若是去点,确定就会报错,由于这个元素都不可见,那么咱们想办法让它显示出来,这里面有个属性叫hidden隐藏起来了。

 

 

经过一个简单的属性更改,它就展现出来了。

 

像这个属性更改,咱们作自动化过程当中,不可能用手动操做去改这里的属性,咱们要经过JS去改

若是暂时看不懂的,没有关系,你只须要理解这是经过一个JS脚本在改它。

 

脚本语言放到咱们代码里面去,执行一下就能够的,不论是改它的元素属性让它消失让它出现,都是经过代码自动实现。

还有一些状况,能够公号程序员一凡 领取往期的视频教程。

 

不要潜水,都出来冒个泡,毕竟相遇就是缘分,交个朋友,都是作测试的,说不定哪一天面试的时候就问到了我讲解过的面试题,你可能知道,但不知道该怎么去表述,这个面试题,你们学到了的,能够点赞支持一下!说不定就又在一块儿工做了。

如如有缘,江湖再见!

相关文章
相关标签/搜索