综合移动应用程序监视器的高级移动脚本编辑
您可以使用高级移动脚本编辑器自定义综合移动应用程序监视器的事务流程。您可以通过在创建移动脚本部分中拖放命令,或在创建移动脚本编辑器中手动输入命令,来使用高级命令模拟复杂的用户交互,从而更有效地监控移动应用程序的性能。
以下是用于更新 Web 脚本的各种命令。请注意这些表达式在编辑器中的格式。
- 命令中的每个参数都是必填的。但是,对于参数 DISPLAY_NAME,您可以在保持每个命令规定格式的同时,在双引号之间传入空值。
- 如果您尝试执行的点击操作会触发下载,将会看到"不支持文件下载"的弹窗提示。请注意,综合移动应用程序监视器不支持文件下载操作,您需要关闭该弹窗才能继续。
-
Click_element_by_id/name/linktext/css/xpath("<ELEMENT_ID/NAME/LINKTEXT/CSS/XPATH>","<DISPLAY_NAME>","<INTELLIGENT_PLAY_CANDIDATES>")
当一个命令有多个以"/"分隔的名称时,表示该函数与具有各种主要标识符类型的命令关联。
点击元素有五种主要标识符类型:
click_element_by_id("<ELEMENT_ID>","<DISPLAY_NAME>","<INTELLIGENT_PLAY_CANDIDATES>")
click_element_by_name("<NAME>","<DISPLAY_NAME>","<INTELLIGENT_PLAY_CANDIDATES>")
click_element_by_linktext("<LINKTEXT>","<DISPLAY_NAME>","<INTELLIGENT_PLAY_CANDIDATES>")
click_element_by_css("<CSS>","<DISPLAY_NAME>","<INTELLIGENT_PLAY_CANDIDATES>")
click_element_by_xpath("<XPATH>","<DISPLAY_NAME>","<INTELLIGENT_PLAY_CANDIDATES>")
移动脚本命令
| 开始步骤 | 点击元素 | 等待 | 断言文本 | 右滑 |
| 左滑 | 下滑 | 点击 | 双击 | 拖放 |
| 元素间滑动 | 按住 | 长按 | 在坐标处点击 | 返回 |
| 切换竖屏 | 切换横屏 | |||
命令参考与说明
探索移动脚本创建中可用命令的列表及详细说明,帮助您构建准确有效的事务流程。
1. 创建步骤
此命令用于标记步骤的开始。
命令语法:
begin_step("<STEP_NAME>", "<STEP_ACTIVITY_NAME>") begin_step("<STEP_NAME>", "<STEP_ACTIVITY_NAME>", "<STEP_STATUS>")
示例: begin_step("Step 5: Click Element", "Click id") begin_step("Step 6: Click Element", "Click id", "true") begin_step("Step 7: Click Element", "Click text,"false")
- 该属性不是必填参数。
- 如果属性 STEP_STATUS 设置为 true,即使当前步骤失败,事务也会继续执行下一步。
- 如果设置为 false,则当前步骤失败时,事务将停止。
2. 点击元素
此命令允许您使用各种选择器类型在元素上模拟点击操作。
命令语法:
click_element_by_id/name/linktext/css/xpath/accessibilityid/androiduiautomator("<ELEMENT_IDENTIFIER>", "<DISPLAY_NAME>", "<INTELLIGENT_PLAY_CANDIDATES>")
示例: click_element_by_id("corporate","disp_corp","#SEP#id=corporate#SEP#name=corporate#SEP#linktext=CORPORATE#SEP#css=#topmenu>li>a#SEP#xpath=//a[contains(text(),'CORPORATE')]#XPATH#//ul[@id='topmenus']/li/a#XPATH#//a[contains(@href, 'corporate.html')]#XPATH#//tr[2]/td/ul/li/a#XPATH##SEP#")
- 在命令中使用适当的标识符类型:
- click_element_by_id:第一个参数必须是元素的 ID。
- click_element_by_name:第一个参数必须是名称。
- linktext、css、xpath、accessibilityid 和 android ui automator 以此类推。
- INTELLIGENT_PLAY_CANDIDATES(智能回放候选项):
这是用于在主要标识符失败时定位元素的备用标识符列表。- 使用 #SEP# 分隔不同类型的标识符(ID、Name、CSS 等)。
- 使用 #XPATH# 分隔多个 XPath 表达式。
3. 暂停指定时间
此命令允许您暂停脚本执行一段指定的时间。
命令语法:
wait("<TIME_IN_MILLISECONDS>")
示例:wait("5000")
时间必须以毫秒为单位指定。
4. 验证网页上文本的存在
此命令检查当前网页上是否存在指定文本。
命令语法:
assert_text_present("\"<TEXT_1>\" \"<TEXT_2>\"", "<IGNORE_FAILURE>")
示例:
assert_text_present("CORPORATE", "true")assert_text_present("\"CORPORATE\" \"PRODUCTS\"", "true")
- 要验证多段文本,请将每段文本用双引号括起来,并在必要时进行转义(例如,\"CORPORATE\")。
- 第二个参数控制失败行为:
- "true":即使未找到文本,脚本也将继续执行。
- "false":一旦检测到失败,脚本将立即停止执行。
5. 验证网页上文本的缺失
此命令检查当前网页上是否不存在指定文本。
命令语法:
assert_text_not_present("\"<TEXT_1>\" \"<TEXT_2>\"", "<IGNORE_FAILURE>")
示例:
assert_text_not_present("error", "true")
assert_text_not_present("\"error\" \"warning\"", "true")
- 要验证多段文本的缺失,请将每段文本用双引号括起来,并在必要时进行转义(例如,\"error\")。
- 第二个参数决定回放行为:
- "true":即使找到该文本(即忽略失败),脚本也将继续执行。
- "false":一旦找到该文本(即遇到失败),脚本将立即停止。
6. 在屏幕上滑动
此命令允许您在移动事务中执行进一步操作之前,向各个方向滑动屏幕。
命令语法:
swipe_up("<NUMERICAL_VALUE>") swipe_down("<NUMERICAL_VALUE>") swipe_right("<NUMERICAL_VALUE>") Swipe_left("<NUMERICAL_VALUE>")
示例:
swipe_up("20")
swipe_down("30")
swipe_right("50")
swipe_left("70")
表示定义滚动幅度的百分比值。 - 可输入 0 到 100 之间的值。
7. 点击元素
此命令通过计算元素的中心并执行底层触摸操作,在移动屏幕上模拟精确的点击动作。
命令语法:
tap_by_id/name/linktext/css/xpath/accessibilityid/androiduiautomator("<ELEMENT_IDENTIFIER>","<DISPLAY_NAME>","<INTELLIGENT_PLAY_CANDIDATES>")
示例
tap_by_id("corporate","disp_corp","#SEP#id=corporate#SEP#name=corporate#SEP#linktext=CORPORATE#SEP#css=#topmenu>li>a#SEP#xpath=//a[contains(text(),'CORPORATE')]#XPATH#//ul[@id='topmenus']/li/a#XPATH#//a[contains(@href, 'corporate.html')]#XPATH#//tr[2]/td/ul/li/a#XPATH##SEP#")
8. 双击元素
此命令通过计算元素的中心点并执行底层触摸操作,在移动屏幕上模拟双击操作。
命令语法:
double_tap_by_id/name/linktext/css/xpath/accessibilityid/androiduiautomator("<ELEMENT_IDENTIFIER>","<DISPLAY_NAME>","<INTELLIGENT_PLAY_CANDIDATES>")
示例:
tap_by_id("corporate","disp_corp","#SEP#id=corporate#SEP#name=corporate#SEP#linktext=CORPORATE#SEP#css=#topmenu>li>a#SEP#xpath=//a[contains(text(),'CORPORATE')]#XPATH#//ul[@id='topmenus']/li/a#XPATH#//a[contains(@href, 'corporate.html')]#XPATH#//tr[2]/td/ul/li/a#XPATH##SEP#")
9. 拖放元素
此命令允许您将一个元素拖动并放置到目标元素上。
命令语法:
drag_and_drop("<ELEMENT_ONE_IDENTIFIER>","<ELEMENT_TWO_IDENTIFIER>","<ELEMENT_ONE_IDENTIFIER_VALUE>","<ELEMENT_TWO_IDENTIFIER_VALUE>")
示例:
drag_and_drop("id","accessibilityid","corporate","finance")
10. 在元素间滑动
此命令允许您模拟两个元素之间的滑动操作。
命令语法:
swipe_between_elements("<FROM_ELEMENT_IDENTIFIER>","<FROM_ELEMENT_IDENTIFIER_VALUE>","<TO_ELEMENT_IDENTIFIER>","<TO_ELEMENT_IDENTIFIER_VALUE>"))Example:
示例:
swipe_between_elements("id","accessibilityid","corporate","finance")
11. 按住元素
此命令允许您在元素上模拟按住操作,持续指定的时间。
命令语法:
press_and_hold_by_id/name/linktext/css/xpath/accessibilityid/androiduiautomator("<ELEMENT_IDENTIFIER>","<DURATION_IN_MILLISECONDS>","<DISPLAY_NAME>","<INTELLIGENT_PLAY_CANDIDATES>")
示例:
press_and_hold_by_id/name/linktext/css/xpath/accessibilityid/androiduiautomator("corporate","2500","disp_corp","#SEP#id=corporate#SEP#name=corporate#SEP#linktext=CORPORATE#SEP#css=#topmenu>li>a#SEP#xpath=//a[contains(text(),'CORPORATE')]#XPATH#//ul[@id='topmenus']/li/a#XPATH#//a[contains(@href, 'corporate.html')]#XPATH#//tr[2]/td/ul/li/a#XPATH##SEP#")
最长持续时间上限为 5,000 毫秒。
12. 长按元素
此命令允许您在元素上模拟长按操作,持续时间为 750 毫秒。
命令语法:
long_press("<ELEMENT_IDENTIFIER>","<ELEMENT_IDENTIFIER_VALUE>"))
示例:
long_press("id","corporate")
13. 在坐标处点击
此命令允许您在屏幕上的特定(x, y)坐标处模拟点击操作。适用于与缺少可识别元素选择器的 UI 区域进行交互,例如 canvas 元素、自定义地图或系统级叠加层。
命令语法:
tap_at_coordinates("<xcoordinate>","<ycoordinate>")
示例:
tap_at_coordinates("306","1999")
- x 和 y 表示屏幕上的像素位置。
- 有效值必须在屏幕的宽度和高度范围内。示例:在 3840×2160 的屏幕上,有效范围为 x:0–3839,y:0–2159。
- 默认点击行为使用底层指针输入模拟手指触摸。
14. 返回上一屏
此命令允许移动应用程序返回上一屏,就像在浏览器或手机上按下返回按钮一样。
命令语法:
press_back()
15. 隐藏键盘
此命令允许您在字段中输入文本后,或在键盘显示于屏幕上的任何时候,隐藏屏幕键盘。
命令语法:
hide_keyboard()
16. 切换屏幕方向
此命令允许您在竖屏和横屏模式之间切换移动屏幕方向。
命令语法:
switch_to_portrait()
switch_to_landscape()
