Robot Framework
Robot Framework
小寒老师
这个作者很懒,什么都没留下…
展开
-
如何使用RF进行数据比较:data of csv文件 vs UI of Page
#get base pathbase_path [Arguments] ${projectName} Comment ${basePath} BuiltIn.Evaluate re.sub(r'${projectName}.*$','${projectName}','${CURDIR}') re ${basePath_list} Split String ${CURDIR} \\${projectName} ${basePa.原创 2022-04-01 14:11:42 · 4389 阅读 · 0 评论 -
RF开发的基本原则
1).可复用性 -关键字(函数)最小化,再根据业务需求进行小关键字的组合(扩大) -这样做,使得多个Pattern(相似场景)模式下,可复用性更高2).函数改善(自定义RF) -should be equal(改善加入,actual>>log actual, expected>> log expected.3).framework -locator -keyword -customLib(python extension) ...原创 2022-03-23 15:17:18 · 1221 阅读 · 0 评论 -
RobotFramework开发项目应用和规则
RobotFramework开发项目应用和规则(locator,keyword等需要一定命名规则,方便维护):另外,开发企业级别的Keyword时:1)尽量开发到最小单元,方便维护。2)Locator命名规则要注意,防止和其他page同名locator,否则RF报错。3)keyword命名规则要注意,防止和其他page同名keyword,否则RF报错。...原创 2022-03-18 16:53:29 · 167 阅读 · 0 评论 -
自动化测试 Page Object Models(POM)
1.Page Object Models 优点1)进行了分类/分块,界限比较清晰2)形成了小仓库,便于被调用3)减少维护成本,这个最重要2. 不使用Page Object models的java例子/*** * Tests login feature */public class Login { public void testLogin() { // fill login data on sign-in page driver.findElement(By原创 2021-09-06 14:22:55 · 168 阅读 · 0 评论 -
空格如何处理(全角和半角的区分)
1)Issue1: 全角空格如何表示solution1:需要用\u3000.例如:${actual_carousel_title_2} AppiumLibrary.Get Text ${register_carousel_text_tilte2_locator}Should be Equal ${actual_carousel_title_2} または、本人確認書類1種類\u3000+\u3000補完書類1種類の用意2)Issue2: 半角空格如何表示soluti...原创 2022-03-04 18:03:35 · 1187 阅读 · 0 评论 -
Execute JavaScript
1) 删除属性${Element} Get WebElement ${xxxx_locator}Execute JavaScript arguments[0].removeAttribute("type"); ARGUMENTS ${Element}2) 增加属性${Element} Get WebElement ${xxxx_locator}Execute JavaScript arguments[0].setAttribute("type","but.原创 2022-02-10 17:48:44 · 1693 阅读 · 0 评论 -
新tab窗口不能操作的解决方法
1)场景:界面A:登录界面(或其他界面),操作后,弹出一个新tab页或新窗口界面界面B(弹出一个新tab页或新窗口界面):不能被RF操作,如click,input等2)原因:界面的句柄仍然聚焦在界面A上,所以RF无法识别界面B。也就是无法识别界面B的元素,也就导致无法通过Xpath进行定位和界面操作3)解决:方法1:通过handle句柄完成#假设此次有RF代码,且界面A操作完了#接下来代码,是为了操作界面B${handle_list} Get Window H原创 2022-01-25 14:16:08 · 1073 阅读 · 0 评论 -
RIDE控制台输出信息有乱码的解决方案
RIDE的log没有问题,但是输出的控制台信息中有乱码。修改:python文件中encoding方式\Lib\site-packages\robotide\contrib\testrunner\testrunnerplugin.py代码修改前:textctrl.AppendTextRaw(bytes(string, encoding['SYSTEM'])) # DEBUG .encode('utf-8'))代码修改后:textctrl.AppendTextRaw(bytes(s.原创 2021-11-18 09:17:00 · 873 阅读 · 1 评论 -
安装robot framework in Windows
假定使用Chrome浏览器,Robot Framework in Windows:1)安装python3.7(如3.7.5)不建议安装3.8及3.8以上,因为RF的集成开发环境RIDE暂时不支持2)配置python环境变量C:\Python37C:\Python37\Lib\site-packagesC:\Python37\Scripts3)Chrome Driver下载并Copy到Scripts目录下载:https://chromedriver.chromium.org/.原创 2021-11-08 14:38:55 · 109 阅读 · 0 评论 -
Automate to change Chrome default download path
2 ways:1. Python Seleniumfrom selenium import webdriverchromeOptions = webdriver.ChromeOptions()prefs = {"download.default_directory" : "C:\Work"}chromeOptions.add_experimental_option("prefs", prefs)chromedriver = "path\to\chromedriver.exe"driv.原创 2021-11-04 17:15:43 · 130 阅读 · 0 评论 -
Robot Framework Web Table 解析与获取
通过Robot Framework,有2种方法解析和获取 Web Table。1)此脚本通过get text获取整行tr的数据,再进行处理${Pgxxx_webList_tableBody_row_locator} //*[@class='xxx']/div[1]//*[@class='el-table__body']/tbody/tr get_table_data_Pagexxx ${web_list} Get WebElements ${Pgxxx_webLis原创 2021-11-02 16:53:41 · 445 阅读 · 0 评论 -
Robot Framework基础与模型
1.Robot Framework是一个通用的开源自动化框架。1)Robot Framework本身是在Apache License 2.0下发布的开源软件,生态系统中的大多数库和工具也是开源的。2)该框架最初由诺基亚网络开发,并于2008年开放源代码。3)它可以用于测试自动化和机器人过程自动化(RPA)。机器人框架得到了积极的支持,许多行业领先的公司在他们的软件开发中使用它。4)拓展性很强,可以引入很多开发包。如导入AppiumLibrary开发包,则可以对移动端进行自动化测试;导入Sel原创 2021-09-09 14:15:32 · 278 阅读 · 0 评论