### RobotFramework 关键字详解及实战应用 #### 一、RobotFramework 概述 RobotFramework 是一款用于自动化测试的强大框架,支持多种类型的自动化测试,包括但不限于Web应用、移动应用等。其最大的特点是易于上手,适合自动化测试初学者快速入门。 #### 二、关键字概述 在 RobotFramework 中,“关键字”是指预定义的函数或方法,用于执行特定任务。这些关键字可以由框架本身提供,也可以通过外部库或用户自定义的方式进行扩展。下面详细介绍几种常见的关键字及其应用场景。 ##### 1. Appium 使用 - **打开 appium**: 通过 Appium 启动应用程序。需指定主机地址和端口号,例如: ```plaintext Host: 0.0.0.0 Port: 4723 ``` - **RIDE 的使用**: - **打开 APP**: 使用 `OpenApplication` 关键字来启动一个移动应用。示例配置如下: ```plaintext OpenApplication http://localhost:4723/wd/hub platformName=Android platformVersion=5.0 deviceName=vivoX5ProV appPackage=eBest.mobile.androidappActivity=com.unisoft.framework.guide.CommWelcomeActivity ``` ##### 2. 操作元素 - **点击元素**: 使用 `ClickElement` 来模拟点击事件。 - **点击按钮**: 使用 `ClickButton` 来模拟点击按钮的操作。如果无法定位到元素,可以尝试使用 `ClickElement`。 - **输入文本信息**: 使用 `InputText` 输入文本。 - **输入密码**: 使用 `InputPassword` 输入密码。 - **设置时间等待**: 使用 `Sleep` 设置等待时间,这对于某些页面加载缓慢的情况非常有用。 ##### 3. 添加用户关键字 - **调用用户关键字**: 用户可以创建自己的关键字,并在测试脚本中调用它们。具体实现方法可以通过参考链接进一步了解: - [RunKeywords的用法](http://blog.sina.com.cn/s/blog_71bc9d680102x05z.html) - [如何创建和调用用户自定义关键字](https://blog.csdn.net/youxitou/article/details/79525833) ##### 4. 判断语句 - RobotFramework 支持基本的条件判断,如 `RunKeywordIf`。需要注意的是,在条件语句中 `'Else'` 是保留关键字,必须使用大写形式。更多关于判断语句的使用,请参考以下链接: - [判断语句的使用](https://blog.csdn.net/mengfanbo123/article/details/8891378) - [其他相关文档](https://www.cnblogs.com/yaxue/p/7117047.html) ##### 5. 定义变量 - 在 RobotFramework 中,可以定义变量来存储数据,方便后续使用。例如,可以通过定义变量来获取元素的属性值,例如判断某个元素是否可点击。 ##### 6. 读取 Excel 表格 - RobotFramework 可以结合外部库(如 `RPA.Browser.Selenium` 或 `RPA.Tables`)读取 Excel 文件中的数据。具体的实现方法可以通过以下链接了解: - [读取 Excel 表格的方法](https://www.cnblogs.com/yinrw/p/6126447.html) ##### 7. 读取数据库 - RobotFramework 可以通过 `DatabaseLibrary` 库来访问数据库。相关的使用方法可以参考以下链接: - [使用 DatabaseLibrary 访问数据库](https://www.cnblogs.com/s380774061/p/4667881.html) - [其他相关文档](https://blog.csdn.net/justheretobe/article/details/61648688) ##### 8. 自定义库 - 用户可以根据需要自定义库来扩展 RobotFramework 的功能。自定义库的实现方式可以通过以下链接了解: - [自定义库的实现方法](https://www.cnblogs.com/yhleng/p/8857059.html) ##### 9. 获取页面行数 - 使用 `GetMatchingXpathCount` 关键字来获取页面中符合 XPath 的元素数量。例如: ```plaintext ${count} = GetMatchingXpathCount xpath=//div[@class='example'] Log To Console ${count} ``` ##### 10. 循环 - RobotFramework 支持多种循环结构,如 `FOR` 循环。具体用法可以通过以下链接进一步了解: - [循环的使用方法](https://blog.csdn.net/whackw/article/details/49797817) #### 三、常见问题及解决方法 - **提示 adb.exe 已停止工作**: 这通常是由于端口被其他程序占用导致的。解决方法是通过命令行工具找到占用 5037 端口的进程并终止它。具体步骤如下: 1. 打开命令行工具。 2. 使用 `netstat -aon | findstr 5037` 查看 5037 端口是否被占用。 3. 使用 `tasklist /fi "PID eq 6720"` 查找占用该端口的进程。 4. 卸载占用端口的程序(例如 360 手机助手)。 - **运行日志提示 can’t match any Element**: 当遇到这个错误时,首先检查日志中的截图界面是否正确跳转,如果没有,可以适当增加等待时间;如果是,则检查元素定位是否准确。 - **RobotFramework 中 None 与 null 的使用**: 在 RobotFramework 中,`None` 和 `null` 都表示空值。具体使用方法可以通过以下链接进一步了解: - [None 与 null 的区别及使用](https://blog.csdn.net/ouyanggengcheng/article/details/77477091) - **4. Robotframework 异常处理**: RobotFramework 提供了多种异常处理机制,如 `Run Keyword And Ignore Error` 和 `Run Keyword And Continue On Failure` 等。更多关于异常处理的信息可以参考以下链接: - [异常处理的方法](https://www.cnblogs.com/ievjai/p/4601207.html) - **5. 添加断言**: 断言用于验证预期结果是否与实际结果相符。RobotFramework 支持多种断言关键字,如 `Should Be Equal` 和 `Should Contain` 等。更多关于断言的信息可以参考以下链接: - [添加断言的方法](https://www.cnblogs.com/captainmeng/p/7668017.html) - **读取 Excel 文件时报错**: 如果在读取 Excel 文件时遇到错误,可以尝试将 `.xlsx` 格式的文件转换为 `.xls` 格式。 RobotFramework 提供了丰富的关键字和强大的功能,非常适合用于自动化测试项目。通过合理利用这些关键字和技巧,可以有效地提高测试效率和质量。
- qq_313011472018-05-03未有关键字集
- 粉丝: 0
- 资源: 1
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助