Robotframework自动化常见问题总结--(基础篇)

  1. 经常有人问这个元素找不到,一般先排除这两个地方,再自己找找 A:是否等待了足够的时间让元素加载 (增加sleep xx, wait Until xxx) B: 仔细查查,这个元素是否进入到另一个frame了 (select frame xxx)
    上面两点都确定了还不行,那改变下xpath的方法

下面的方法掌握了,基本上没有找不到的。 C:xpath = //div[text()=‘web上显示的文本’] 根据文本匹配
还有一文本前后可能有空格,特殊字符,可以用部分文本来匹配 D:xpath = //div[contains(text(),‘部分文本’)]
E:还有找父节点的方法: …/ 这个自己去看看,会有收获的。

  1. 有同学问:如何判断这个元素disable,或者置灰了 用F12仔细看看元素灰了和没灰,disable和enable的区别,基本都能看到有的属性发生了改变,
    class的值多了或者少了checked, 或者disable等 一般这种我都用到 get element
    attribute关键字,如下获取class的属性 ${class_value} Get Element Attribute
    xpath=//div[@id=’123’]@class 你再判断 ${class_value}是否包含 disable,或者
    check就可以得到其状态了

  2. 有人说:我这个log怎么是乱码 [ {‘dst’: u’\u6cb3\u5317\u77012’}, {“xxx”: “bbb”} ] 取出u’\u6cb3\u5317\u77012’, 然后log就是中文了

  3. 还有人问,我怎么没这个Get from Dictionary关键字, 其实是你没加载这些库,我建议:新手必须加载的库 BuiltIn RF系统内部的,最基础的Run keyword xxx都在这里 String 字符串处理的库,文本处理必备
    Collections 字典,列表的库,必备 Selenium2Library web测试入门库
    OperationSystem 操作windows系统命令,处理文件时要用到 AutoItLibrary
    鼠标、键盘操作windows控件用这个

  4. 还有人问我的数据库获取的怎么是乱码 ??? 一堆问号啥的 请在connect数据库时增加 charset=utf8 (我没弄过数据库的自动化,这个是看雪霁大神回答他人后记录下来的,还有其他可能的乱码,我不知道,请后续补充)

  5. 还有人问,怎么设置全局变量 我们就谈谈RF变量的内部变量 a a a S e t V a r i a b l e h a h a 这 个 {aaa} Set Variable haha 这个 aaaSetVariablehaha{aaa}是普通变量,就本case能用 Set suite variable a a a 这 个 {aaa} 这个 aaa{aaa}就是测试suite变量 set global variable a a a 全 局 变 量 {aaa} 全局变量 aaa{aaa},在哪都能传 Set
    Test Variable ${aaa} (这个我还没用到过)

  6. 有人说,我的日志输出想改个路径 在运行界面:Arguments右边输入框这样写 -l E:\Robot_log\smoke_test_log -r E:\Robot_log\smoke_test_report
    -l 是log的路径参数
    -r 是report的路径参数 如果还有其他执行脚本的需求,请命令行pybot -? 自己看看,都在这里

  7. 还有人问:我的脚本assert,我还想继续执行,不想停下来 用这个几个,保证让你停不下来的节奏。。。 Run Keyword And Return Status, Run Keyword And Ignore Error Run Keyword And Continue
    on Failure

  8. 有新手经常问,我的浏览器怎么打不开 这种有提示:你的chromedriver没找到路径,我就不说了。 如果没这种提示的,基本就是你的ride,或者robotframework太旧了,还有就是你的浏览器版本太高了,
    这种问题在道长经常在群里回答,我只是作为记录了,道长别找我要版权费哈。。。

  9. 新手常见错误:If… Else if… Else 怎么不行 这个确实是rf的坑,平时keyword都没区分大小写,但是这套IF语句一定要大写。 还有比较的时候,${aaa} ==
    b b b 报 语 法 错 误 , 因 为 你 比 较 的 时 候 没 这 样 ‘ {bbb}报语法错误, 因为你比较的时候没这样 ‘ bbb{aaa}’ == ‘${bbb}’ (请加上英文的单引号)

  10. 还有,我导入库怎么是红色的 第一:请确定你是用pip在线安装的,其他下载文件安装很可能没安装好。 第二:请注意库命的大小写 第三,如果是你自己的自定义库红色,先运行下,看提示log,报错误在哪行,自己搞定语法错误

  11. 这个弹出框怎么处理 一般处理弹窗先增加等待,容错处理 先用这个试试:Dismiss Alert 不行再用下面的 Choose Ok On Next Confirmation Confirm action 顺便:get alert message — 获取弹出窗的信息

  12. 需要验证提示信息,(提示输入非法等等)用到鼠标悬停 Mouse Over xxx这样鼠标就挺在那了 马上去获取提示信息,get text xxx

  13. 日期控件怎么办,是否有关键字 RF没有日期控件的关键字,(我们是自己封装的)。 最简单的用js来执行 (我也不会js,找你们开发吧)

  14. 这个下拉框我怎么选不上。 在浏览器F12下拉框如果是正规的,你的选项应该是 的, 正规的,你就像下面这么用: Select from List xpath=//xxx/xxx 灯姐 Selct from List by
    value xxxx 萤草奶妈 非正规的

    ,你就用下面方式 Click Element
    xpath=//xxx/xxx//div[text()=‘坦克程咬金’]

  15. 那种2选1的按钮怎么做 官方称为Radio Button,在RF的selenium库中F5搜索 radio就有了 Select radio button xxx 男

  16. 多选按钮怎么做 Select checkbox

  17. Click Button点不到元素 可以尝试下: click element

  18. 没有这样的关键字咋办 没错,在你没有办法的时候,RF找来了他的经纪人“Python老宋”来帮忙。 Evaluate 后面接你的python代码就可以了。

  19. 有人问:为什么我的IF … ELSE 跑到一行了,写的时候我是分开了的。 这个不用担心,RF就是这样自动的弄到一行了,不影响的。

  20. 有人问:For循环怎么写? 就下面这样写,注意for前面有个冒号 :For ${i} IN RANGE 10
    Log ${i} — for循环内的语句在ride中前面要空一格
    Log 循环可以多行

  21. 我写了IF语句,RF中如果让他执行多行关键字 对不起,rf的Run Keyword If语句后面不能像下面这样: Run Keyword If ‘xxx’ == ‘xxx’ 语句1
    语句2 //这样是不行的
    语句3 //这样是不行的 下面这样是可以的 Run Keyword If ‘xxx’ == ‘xxx’ 语句1 Run Keyword If ‘xxx’ == ‘xxx’ 语句2 Run Keyword
    If ‘xxx’ == ‘xxx’ 语句3 上面那样太麻烦,我有很多语句那咋办?
    恭喜你,那只能自己封装关键字了,正好练习下封装技能!哈哈。。。

转载:https://blog.csdn.net/yetihetao/article/details/79968542

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Robot Framework是一种开源的自动化测试框架,可以用于UI自动化测试。在使用Robot Framework进行UI自动化测试时,可以将测试用例分为多个步骤或模块,并且可以使用重试机制来增强自动化的稳定性。 重试机制可以在自动化中的某一个步骤、整条自动化用例,甚至是某个模块全部的自动化用例中应用。这意味着,如果一个步骤或用例在第一次执行时失败,可以通过重试机制再次尝试执行,以提高测试的稳定性。 要使用Robot Framework进行UI自动化测试,可以使用robotframework-pabot这个库。你可以通过在终端上运行以下命令来安装它: ``` pip install robotframework-pabot ``` 安装完成后,你可以使用pabot来执行并行的UI自动化测试,以加快测试的执行速度。 在默认情况下,如果一个自动化脚本中的某个点击操作失败,Robot Framework会直接报错,并且该条自动化测试用例会被标记为失败。这种行为有时会降低自动化的稳定性。因此,在编写自动化脚本时,我们可以通过合理的异常处理和重试机制来增强自动化的稳定性,例如在点击失败后,可以通过重试机制再次尝试点击,以确保测试的准确性。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Robot Framework Selenium UI自动化测试 --- 进阶](https://blog.csdn.net/qq_27534003/article/details/87524779)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值