lf知识星球banner

学会UI自动化,放心过大年!

2018-03-13 17:20:00
Peggy
原创
5348
摘要:最近很多童鞋问到LuckyFrame平台的UI自动化怎么做,为了响应大家的需求,笔者特意开了这篇,跟大家介绍介绍,顺便安利一波~

LuckyFrame平台的UI自动化,操作步骤跟前面介绍过的接口自动化基本上是一般无二。而关于接口自动化,我们在前面的 《HTTP接口测试还可以这么玩?》 《想做自动化测试却无从入手,看完这篇你就会了》 这两篇文章中,已经详细地介绍过了。


总结起来就是一个通用的套路:第一步,创建测试用例;第二步,关联测试计划;第三步,配置调度任务。不清楚具体操作的童鞋可以回过头去看看这两篇文章,这里就不再赘述啦。


但是,虽然套路都是一样,UI测试用例的编辑规范与接口的可是大不一样哦。下面按照惯例,简单举例说明下:

创建UI自动化用例:注意填写用例基本信息时,“用例类型”要选择“UI自动化”。

编写UI用例步骤:需要注意步骤中每个输入项的填写格式。

  • “包 | 定位路径”:输入定位页面元素时所使用的元素属性及其属性值。例如:有一个页面元素<input autocomplete="off" maxlength="255" value="" name="wd" id="kw">,使用id属性定位该元素,则这里填写格式为“id=kw”


 

PS:为了照顾某些不清楚如何定位页面元素的零基础童鞋,笔者在这里就多啰嗦几句,教大家一个简单通用的方法:首先,给自己的电脑安装一个火狐浏览器,然后给你的火狐浏览器安装FireBug和FirePath两个插件,利用这两个插件来帮助快速定位页面元素,至于具体的安装使用方法,童鞋们自行度娘哈~

 


  • “方法 | 操作”:此项为下拉选项,选择的是操作语法,即该步骤要对“包 | 定位路径”中定位的元素进行的操作类型,如对一个类型为输入框的页面元素输入内容,此处选择为“sendkeys”

  • “参数”:输入“方法 | 操作”的参数,如上面的例子,在这里输入“开源测试”,表示sendkeys操作时使用参数值“开源测试”

  • “步骤动作”:一般留空,也可以“n*Wait”的格式输入,表示执行此步骤后等待n秒再进入下一个步骤

  • “预期结果”:一般留空,输入值时填写格式为“check(属性=属性值)”,用于检查步骤动作执行完成后,对应的元素是否存在

  • “类型”:此项为下拉选项,这里选择固定值“Web UI”


用例创建好后,童鞋们肯定知道接下来该怎么做了吧。是的,就是为其创建一个测试计划和调度任务,然后放心大胆地交给平台来执行测试任务。


不过,在童鞋们做这些操作之前,笔者要先提醒下大家两个注意事项:

 

1、在将UI用例关联到测试计划时,每条用例都必须指定执行优先级。因为每条用例的执行,都可能对下一条待执行的用例产生影响。举个例子,现在有用例1是登录某网站,用例2是打开个人主页,在没有指定优先级的情况下执行测试任务,所有用例的执行顺序是随机的,但我们都知道登录之后才能打开个人中心,若是用例1在用例2之后执行,那么用例2就必然无法执行成功,为了解决这种不确定性,就有必要指定用例的执行优先级,保证用例1一定会在用例2执行之前执行。


2、在配置UI自动化调度任务时,“线程数”必须配置为1。同样也是为了保证用例能够按照一定的顺序先后执行,UI自动化测试任务执行时,不能采用多线程并发的模式。


 

进行到这里,实际上关于UI自动化的平台操作方法,已经Over 了,大家可以开始尝试你的UI自动化了。下面的内容,是笔者归纳出来的,一些UI自动化中可能会用到的实用技巧,有兴趣的童鞋可以参考一下,如果没有兴趣,看到这里就可以结束啦~


 

用例步骤中使用自定义的参数

1. 创建一个Java项目,编写一个方法,该方法返回我们需要的参数值;

2. 参照hessian接口用例的编写规范,写一条测试用例A,预期结果是我们期望的自定义参数值(这条用例请参考hessian接口的用例编写规范);

3. 增加一个步骤,在“方法 | 操作”中选择runcase方法,“参数中”填写用例A的用例编号,预期结果格式为“$=参数值”;

4. 在后面的步骤中,以“@参数值”的格式来引用第三步中得到的参数值。

有时候我们希望对某个数据库进行操作,也可以采用这种方法,在java代码中封装操作方法,然后在平台使用runcase调用该方法。

 


 

“方法 | 操作”中几个很好用的方法

open:打开URL,这个方法用于打开浏览器并访问指定网页,一般用于优先级最高的用例第一个步骤。

它的使用方法是:增加步骤,在“方法 | 操作”中选择open,“参数中”填写网址,步骤的其他参数值留空。


timeout:设置全局页面加载&页面元素出现最大等待时间,这个方法一般用于open步骤之后。平台默认的查找元素等待时间为30s,而使用这个方法可以自定义最大等待时间。

它的使用方法是:增加步骤,在“方法 | 操作”中选择timeout,“参数中”填写等待时间(单位是秒),步骤的其他参数值留空。


exjs:执行js脚本,这个方法用于执行某些特殊操作,如:拉动滚动条这种无法通过操作页面元素实现的操作,可以通过js脚本来实现。

它的使用方法是:增加步骤,在“方法 | 操作”中选择exjs,“参数中”填写具体的js脚本,步骤的其他参数值留空。

 


文章原创申明
  • 本站文章以及相关内容除注明 转贴外,均为本站 原创翻译

  • 如果本站转载的文章涉嫌侵犯了您的权益,请在评论区留言或是邮件联系管理员及时删除 【admin@luckyframe.cn】

发表评论
评论通过审核后显示。
付费知识圈