RobotFramework选择窗口方法.pdf
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
RobotFramework选择窗⼝⽅法 选择窗⼝⽅法 最近有同事⽤RobotFramework写⾃动化脚本的时候,发现选择浏览器窗⼝⽤ select window 关键字有时会跳到其他窗⼝或者选择错误,因此,我便封装了⼀个确保正确选择窗⼝ 的关键字。 1 选择窗⼝ 2 [Arguments] ${title} 3 @{windows} List Windows #获取所有窗⼝句柄的列表 4 : FOR ${handle} IN @{windows} #遍历所有窗⼝句柄 5 \ Select Window ${handle} #选择窗⼝ 6 \ ${currentTitle} Get Title #获取当前窗⼝的title 7 \ #判断需要的窗⼝title是否等于当前窗⼝title,等于则选择当前窗⼝并退出循环 8 \ Run Keyword If '${title}'=='${currentTitle}' Run Keywords Select Window ${currentTitle} AND Exit For Loop 关键字说明 可能有些同事未必⽤过⼀些关键字,因此对⼀些关键字进⾏说明,⼤家亦可以去RF中按下 F5 进⾏查看,或者去RF官⽹去看关键字⽤法: List Windows : 获取当前浏览器所有窗⼝的句柄,并返回⼀个列表; : FOR ${handle} IN @{windows} : RF循环语法; Run Keyword If : RF判断语法。 这是在PyCharm编辑器上的截图: 这是在robotframework-ride编辑器上的截图: 在自动化测试领域,Robot Framework(简称RF)是一个广泛使用的开源测试框架,它支持多种库,可用于Web、桌面、移动应用的自动化测试。在处理多窗口交互时,有时需要精确地选择特定的窗口进行操作,而标准的`Select Window`关键字在某些情况下可能会出现问题。为了解决这个问题,本文档介绍了一种确保正确选择窗口的方法。 我们要理解问题的背景。在使用Robot Framework的同事编写自动化脚本时,他们发现在使用`Select Window`关键字选择浏览器窗口时,有时会意外跳转到其他窗口或选择错误的窗口。为了解决这个问题,作者封装了一个新的关键字来确保选择正确的窗口。 这个新关键字的工作流程如下: 1. **选择窗口**:这是一个自定义的关键字,接受一个参数 `${title}`,表示我们想要选择的窗口的标题。 2. **[Arguments] ${title}**:这是RF中定义关键字参数的语法,`${title}`是我们传入的目标窗口标题。 3. **@{windows} List Windows**:此行获取当前浏览器的所有窗口句柄,并将它们存储在一个列表`@{windows}`中。`List Windows`是RF提供的关键字,用于获取所有打开的窗口句柄。 4. **: FOR ${handle} IN @{windows}**:这是RF的循环语法,用于遍历`@{windows}`列表中的每一个窗口句柄。 5. **\ Select Window ${handle}**:在循环内,选择列表中的每个窗口句柄。 6. **\ ${currentTitle} Get Title**:获取当前被选窗口的标题,并将其存储在变量`${currentTitle}`中。 7. **\ Run Keyword If '${title}'=='${currentTitle}' Run Keywords Select Window ${currentTitle} AND Exit For Loop**:如果当前窗口的标题与目标标题匹配,执行`Select Window`关键字选择当前窗口,并使用`Exit For Loop`跳出循环,避免了继续检查剩余的窗口。 关键字说明部分解释了几个关键的RF语法和关键字: - **List Windows**:获取当前浏览器所有窗口的句柄,返回一个列表。这对于在多个窗口间切换非常有用。 - **: FOR ${handle} IN @{windows}**:这是RF的for循环结构,遍历一个列表的元素。 - **Run Keyword If**:RF的条件判断关键字,如果给定的条件满足,就执行指定的关键字。 此外,文档还提到了查看RF关键字用法的两种方式:在RF环境中按F5查看帮助,或者直接访问RF官网查找相关关键字的详细信息。 通过这种方法,我们可以确保在自动化测试过程中正确地选择和操作特定的浏览器窗口,避免了因`Select Window`关键字可能导致的错误。在PyCharm和Robot Framework - Remote Interaction Development Environment (RIDE) 编辑器中,这些关键字和逻辑都可以直观地看到,方便了脚本的编写和调试。
- 粉丝: 190
- 资源: 3万+
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- BigData-Notes-sqoop的安装与配置
- C语言-leetcode题解之28-implement-strstr.c
- C语言-leetcode题解之27-remove-element.c
- C语言-leetcode题解之26-remove-duplicates-from-sorted-array.c
- C语言-leetcode题解之24-swap-nodes-in-pairs.c
- C语言-leetcode题解之22-generate-parentheses.c
- C语言-leetcode题解之21-merge-two-sorted-lists.c
- java-leetcode题解之Online Stock Span.java
- java-leetcode题解之Online Majority Element In Subarray.java
- java-leetcode题解之Odd Even Jump.java