lf知识星球banner

Web UI自动化语法说明

2018-03-15 16:57:42
admin
21602
最后编辑:Seagull 于 2020-05-28 17:09:59
简介:介绍Web UI自动化测试中的语法以及一些操作说明

1:关键字语法结构

包|定位路径:语法结构 属性 =对应值  示例:xpath =.//*[@id='username']  元素在页面中的定位路径,定位属性支持请参考下面内容,如果操作不涉及页面元素,此栏为空。 

id

name

xpath

linktext

tagname

cssselector

方法|操作:自动联想出Web UI封装好的操作语法

预期结果: 语法结构  check(属性=对应值) 示例:check(xpath=.//*[@id='username']) 此方法用来检查步骤动作执行完成后,检查对应的元素是否存在。

示例:

2:其他关键字语法结构

支持与接口自动化相同关键字语法,写法一样,如:参数传递、模糊匹配预期结果步骤间休眠等,请参考接口自动化的章节,此处不再赘述。

3:web用例调用接口用例

当你的 WEB UI用例需要调用另外一条接口用例或是WEB UI用例的时候,提供一种runcase的方式,在 【方法|操作】列选择runcase,在 【参数】列输入接口用例的编号就可以了。此操作变量不共享。

同时在WEB UI用例也支持插入接口类型的步骤(此操作变量共享)

类似在接口用例中填写步骤的用法,“包 | 定位路径”列填包路径,“方法 | 操作”列填方法名,“参数”列填传给该方法的入参,“预期结果”列可以选填根据方法返回值的断言,“类型”列选接口

示例:

4:元素操作语法

语法结构:动作( 方法|操作)    操作值( 参数)

示例:sendKeys(方法|操作)  username(参数)    

下拉框类
selectbyvisibletext 通过下拉框的文本
selectbyvalue

通过下拉框的 VALUE 属

selectbyindex

通过下拉框的 index 属性,从 0 开始计数

isselect

判断是否已经被选择,同用于单选、复选框

获取对象属性值类
gettext 获取文本属性
gettagname 获取标签类型
getattribute 获取指定属性值
getcssvalue 获取cssvalue值
getcaptcha 获取验证码
对象动作类
click 点击
sendkeys 输入
clear 清除输入框
gotoframe 跳转框架(iframe)
isenabled 是否可用
isdisplayed 是否可见
exjsob 针对对象执行JS脚本,返回值非空,则使用该返回值返回,可用于用例步骤的预期结果判断;如:通过js获取只读输入框中的内容,然后跟目标值做判断。
scrollto
滚动到目标对象
scrollintoview
将目标对象滚动到可视
主对象类(无定位属性)
open 打开页面
exjs 执行js脚本,返回值非空,则使用该返回值返回,可用于用例步骤的预期结果判断;如:通过js获取只读输入框中的内容,然后跟目标值做判断。
gotodefaultcontent

跳转回到默认 frame(用于跳转到另一个 iframe 后,跳回

gettitle 获取窗口标题
getwindowhandle

参数可以是目标窗口句柄的下标或标题。

下标:从1开始,小于等于0则返回当前窗口的句柄值;

标题:非空则返回第一个匹配的窗口的句柄值,为空则返回当前窗口的句柄值;

gotowindow

参数可以是窗口句柄、名称、标题、下标(注:下标从0开始)。先使用句柄和名称查找目标窗口句柄,没有找到再使用标题查找,最后用下标去尝试查找。

runcase
调用指定用例编号的接口|Web UI用例
gotoparentframe
跳转回到上一级iframe
wait 等待
closewindow
关闭当前浏览器窗口
addcookie
添加浏览器cookie
弹出框类
alertaccept 点击 OK
alertdismiss 点击取消
alertgettext 获取弹出框 TEXT
模拟鼠标键盘类
mouselkclick 模拟鼠标左键单击(可带页面对象)
mouserkclick 模拟鼠标右键单击(可带页面对象)
mousedclick 模拟鼠标双击(可带页面对象)
mouseclickhold 模拟鼠标左键单击后不释放(可带页面对象)
mousedrag 模拟鼠标拖拽(可带页面对象)
mouseto 模拟鼠标移动到指定坐标(可带页面对象)
mouserelease 模拟鼠标释放(可带页面对象)
mousekey(tab) 模拟键盘Tab键
mousekey(space) 模拟键盘Space键
mousekey(ctrl) 模拟键盘Ctrl键
mousekey(shift) 模拟键盘Shift键
mousekey(enter) 模拟键盘Enter键


评论列表
CYT 2020-07-08 09:44:24 回复
跳转上一级框架被卡住是什么情况?90秒后也不自动关闭窗口,一直显示在执行
Seagull 2020-08-20 17:59:19 回复
有可能是跳转失败,没有定位到
aniikiki 2020-07-07 15:35:13 回复
请问可以类似robot framework一样自己定义关键字吗
Seagull 2020-08-20 17:59:34 回复
需要改代码
加肥猫 2020-09-01 22:04:16 回复
请问在哪里可以增加关键字方法的代码呢?
CYT 2020-06-10 13:56:53 回复
我使用谷歌浏览器进行webui学习时调用窗口会提示定位不到元素我用火狐浏览器却可以请问一下这是什么原因
hongshu 2020-06-01 15:07:26 回复
webUI如何上传图片呢?
李先生 2020-05-29 10:06:38 回复
这个服务器上的浏览器是怎么支持多人同时在线的调试呢,有没有一种方法直接去调用用户自己的浏览器去执行webui的用例脚本
Seagull 2020-05-29 16:07:47 回复
把客户端启动在用户本地就好了啊
卖萌坑人的兔子 2020-04-27 14:09:25 回复
要跳转iframe是用gotoframe么?参数传什么?name可以么?有没有例子啊
Seagull 2020-05-06 15:45:09 回复
定位iframe跟普通元素的定位方式是一样的,不用带参数
Ira 2020-04-10 18:01:19 回复
老师好,试用了段时间,有两个地方感觉是不是可以优化下?
一,定位路径,目前没有实现参数化管理,每个元素在捕获后,直接写死在用例步骤中。如果功能有优化,改变了改元素定位,则改功能所有涉及该元素的都需要手动维护。维护成本太高。
二,在正常跑用例时,每次进入页面,首次进入iframe时,都需要等待30S左右的时间。
希望老师能看到并有所回应,万分感谢。
Seagull 2020-04-14 15:27:04 回复
第一个问题,系统有提供公共参数功能,可以设置公共参数解决
第二个问题,需要分析下原因,这个不一定是平台原因
WG 2020-03-26 18:19:12 回复
请问runcase方法不能调用http接口是吗,
Seagull 2020-03-26 19:05:27 回复
可以的,都是一样的,http接口你也可以直接写在UI用例的步骤中
WG 2020-03-27 09:24:23 回复
你好:
1、使用runcase,参数正确填写http接口用例编号,类型选择【http接口】
会提示:“路径地址及预期结果必填,但是这个地址和结果写哪个呢,被调用例的地址和预期结果也不只一条”
2、在上述情形下,类型更改为【web UI】【移动端】到时可以填写成功,但是运行时解析用例失败了
请问这要怎么办呢?
Seagull 2020-03-30 19:38:29 回复
http接口类型,没有runcase这个方法
wm 2020-02-19 11:33:36 回复
WEBUI用例里是否支持windows弹窗选择文件之后上传呢?
Ira 2020-02-14 08:58:15 回复
老师好,mousedrag与mouseto,移动不了是怎么回事呢?在悬浮菜单右侧有下级菜单,需要移动过去才可以点击。但是看页面基本没有动作。
1/2
发表评论
评论通过审核后显示。
付费知识圈