RobotFrameWork自动化学习笔记

遇到的问题及解决方法:

一、网页元素定位问题
      问题背景:公司网页登录界面共有三个主要控件:“用户名输入框(input id=username)”“密码输入框(input id=password)”“登录按钮(button 无id,也无name)”

        Q:如何定位到既没有id,也没有name的网页控件?

        A :看到网上给了一种方法,即使用关键字“click button”然后使用css进行定位,这种方法确实可以。但是接下来我要实现登陆后退出时却傻了眼。原来公司网页开发的时候,那个登出的按钮,标签用的是span,然后type=button。也就是它显示是个button,实际上使用span作为网页标签的,我用“click button”关键字确定button,然后css进行定位,却怎么也访问不到这个空间,最后还报错说“递归太多”的错误。

               最后实在不知道怎么办,打开前辈写的脚本,结果一目了然,他们直接用xpath的方式来访问,就是采用相对路径的方法,如图:

简单解释下含义:click element的意思是点击网页的某个元素,xpath后面跟着的是网页元素的相对路径(也可以写绝对路径,不过比较麻烦)。“//”相对路径的表示方法,表示网页元素的某个路径,“button”表示需要定位的元素控件,方括号内“ng-click”即为需要定位的元素的属性。这个属性必须是唯一的,这样才可以根据相对路径定位到该元素。
               这种方法看着写起来比较麻烦,但是掌握起来很容易,而且基本上98%的元素定位都可以用这种方法。

二、运行报告查看问题

       问题背景:公司前辈给了任务,要求在jenkins上面构建完任务后,对运行错误的任务进行错误定位。

       Q:robotframework不是安装在本机,而是直接安装在jenkins的机器下面(真的坑,和网上都不一样)

       A:可以查看robotframework指定的报告输出目录,前辈指定的目录我就不放了,这里是参考网上大佬的方法查看的。https://blog.csdn.net/u011757108/article/details/52486631 ,链接里面是指定日志输出的路径,实际可以搜索对应日志文件名就行了。
              公司前辈在输出日志的提示,还定时对操作进行了界面截图(没看出啥问题),但是在report.html文件里面打开可看到错误原因,直接点错误的选项就可以定位到错误的根源。

               像我这里的错误就是:1.控件不能被关键字里面设定的属性定位到,后来发现是开发把属性变了,然后就定位不到了,然后第二个问题是因为第一个关键字没有成功执行,然后就弹不出对应界面,所以就找不到弹出页面才有的控件了。第二个问题产生的原因其实是因为第一个关键字执行失败造成的。

三、网页元素时而定位到,时而定位不到

       问题背景:在公司内网服务器上,对公司产品网页进行测试,定位元素时而成功时而失败。

       Q:为什么有些时候能够正常定位到网页上面的元素,但有的时候又定位不到。
       A:后来发现很大程度上取决于服务器自身的性能和本地的网速,虽然使用了“wait until”相关关键字来等待网页刷新控件,但是终究有个最大时限。只有为数几个的解决方案,就是重启网页服务器(我们这里是自己搭建的虚拟机服务器进行测试的,一次就不用考虑影响别人作业)。还有就是调整环境,把网络环境配置好,专网测试(感觉像是废话)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值