robot+selenium编写web UI自动化用例

通常我们可以用robot framework写接口自动化用例,但是有些站点如果未做前后端分离,迭代过程中又有大量的重复测试工作量,没有接口可调用验证,也有自动化测试需求,怎么办?这时候,那个深坑频现的web UI自动化就势在必行了。robot只是自动化框架,好在他稳定而且扩展性极好,要想驱动web浏览器自动干活,只需要安装另外一个神器selenium,下文将提纲携领介绍web UI如何入门,一旦你入了门,其余的就是baidu和看官网帮助的工作量了,建议用到了在查,不然也没卵用。

用例编写前提:

  • 已经部署好了robot/python3环境,详见:
  • 安装selenium,推荐3.11.0版本: pip install selenium==3.11.0
  • 安装robotframework-seleniumlibrary,推荐3.1.1版本: pip install robotframework-seleniumlibrary==3.1.1
  • 安装webdriver,推荐比较流行的chromedriver,从这里下载:http://chromedriver.storage.googleapis.com/index.html
    chromedriver的版本需要和本机的chrome浏览器对应,才能正常使用;下载对应版本的chromedriver驱动文件,具体版本对应关系表:
    chromedriver版本 | 支持的Chrome版本
    v2.33 | v60-62
    v2.32 | v59-61
    v2.31 | v58-60
    v2.30 | v58-60
    v2.29 | v56-58
    v2.28 | v55-57
    v2.27 | v54-56
    v2.26 | v53-55
    v2.25 | v53-55
    v2.24 | v52-54
    v2.23 | v51-53
    v2.22 | v49-52
    v2.21 | v46-50
    v2.20 | v43-48
    v2.19 | v43-47
    v2.18 | v43-46
    v2.17 | v42-43
    v2.13 | v42-45

window平台的话,解压后放到本机chrome浏览器文件路径里,如:
C:\Program Files (x86)\Google\Chrome\Application
或者系统path里增加chromedriver的解压地址

在用例文件中引用selenium包

*** Settings ***
Library  Collections
Library  SeleniumLibrary

一个样例如下:

*** Test Cases ***

my first html
        #创建一个chrome浏览器
    Open Browser    http://www.我的域名.cn/     chrome

     #输入文本框
    input text      id=inputName            admin
    input text      id=inputPassword        admin
    input text      id=inputCode            123

    #点击按钮
    Click Button    Xpath=//form/div/span/button

        #单击A标签    | locator表示定位器
        #Click Link | locator

        #单击某个标签
        #Click Element    Xpath=//ul[@id=‘systemSetting0‘]

    ${cnt}          get title
    log     ${cnt}

    ${title}        get window titles
    log     ${title}
    Title Should Be    一个后台
    Location should Contain  http://www.我的域名.cn/
    Page Should Not Contain     不包含我
    Page Should Contain         必须包含我

        # 关闭打开的浏览器
        Close Browser
    Close All Browsers

执行用例你将会看到,一个chrome自动打开,并且输入密码,点击了登录,也可能速度奇快看不清,为了看的清晰,可以用sleep方法在每步停留几秒:

# 这里的单位是秒
sleep   3

当然,如果你的web加载比较慢,用停留几秒来规避是不靠谱的,建议用这个方法:

Wait Until Page Contains Element

原文地址:http://blog.51cto.com/7717647/2114466

时间: 2024-10-10 08:07:21

robot+selenium编写web UI自动化用例的相关文章

python3+Robot Framework+PyCharm第一个WEB UI自动化用例

这里只是列举一个很简单的例子,简单介绍工具的使用,编写用例之前,做好WEB UI自动化的准备工作,下载好chrome驱动(这里以chrome为例,不同浏览器有对应的驱动),注意驱动和浏览器版本要对应,不然启动浏览器会抛异常.例外要格外注意的就是编写用例的时候空格,关键字和参数直接是一个table制表符,也就是4个空格,建议在IDE里面把 · 设置出来,方便检查格式,这里就没有RIDE好用了,RIDE是纯表格式编程,希望python3能够尽快出个稳定版本的RIDE,造福大家~~ 测试报告 原文地址

Android UI自动化用例设计技巧

一.封装方法 1.编程如何越来越快: 首先,需要经验丰富,知识面广. 其次,每一个熟练编程的人员,都会有自己的一个库,解决各种问题.各种通用的方法函数. 同理,自动化脚本也是编程,测试用例则为需求,UI自动化编写虽然容易,但是界面变化快.维护庞大.所以封装通用方法,是最快最容易的途径. 2.哪些方法需要封装: 公共的操作方法 经常使用的步骤:超过两次以上 经常使用的组件:输入框.文本框.列表 经常操作的布局:多个组件组成通用的布局 经常操作的页面:ui页面由一个一个单独Activity组成,就可

自动化用例设计

用例设计部分,无论是手工测试还是自动化测试,都必须要的环节,也是非常重要的环节.在做自动化的时候,用例需要考虑前置后置.步骤和对比,每一个部分都要有提供非常明确的测试数据,要考虑数据的重复使用是否会影响脚本的执行结果. 自动化用例设计原则 1.不是所有的手工用例都要转成自动化测试用例 2.考虑到脚本开发的成本,不要选择流程太复杂的测试用例,如果有必要,可以考虑把流程拆分成多个用例来实现脚本 3.选择的用例最好可以构建成场景.例如,一个功能模块,分多个用例,多个用例使用同一个场景 4.选择的用例可

dubbo接口自动化用例性能优化

前言 去年换了一个新部门,看了下当前的自动化用例的情况,发现存在三类性能问题: 本地调试运行时等待时间较长,就算是一个简单的case,执行时间都需要1分钟以上 单用例执行时间比较长,部分用例执行时间超过2分钟 集成到CI中运行时,执行时间较长 对于上述三个问题花时间进行了一定程度的优化,总结如下 优化本地调试时间 通过调试可以发现,一个需要执行660ms的case,在执行前的初始化工作就需要消耗约1分半钟,那么就需要思考下能否减少这部分初始化时间了. 公司用的自动化框架是基于AbstractTe

自动化用例设计原则

1.自动化用例分3步走 初始化,输入准备 执行(方法调用),结果验证(断言) 清理环境 2.用例独立 不同的执行顺序,相同的结果 用例间没有状态共享 用例执行前的环境状态与用例执行结束后的一致 3.单一职责 一个单测用例只负责一个场景/行为 一个用例中的多个断言仅验证一个场景 如:调用api返回结果需要验证error no是否为0,error msg是否为空 一个方法,N个场景需要写N个用例 一个场景,多个方法可以写一个用例 遵循的原则就是一个场景对应一个用例 4.自描述 变量名.方法名.类名等

命令行运行Android Robotium自动化用例或单元测试用例

本文目录 1.运行所有的测试用例 2.运行单个测试类或某个TestSuite 3.运行某个测试类里面的某个测试方法 4.运行两个不同的测试类或类中的方法 命令行运行Android Robotium自动化用例或单元测试用例 1.运行所有的测试用例 举个栗子:运行测试工程下的所有用例 1 adb shell am instrument -w com.taobao.taobao.test/android.test.InstrumentationTestRunner 2.运行单个测试类或某个TestSu

jenkins执行自动化用例(详细、有用、mark 优先级高高高)

http://blog.sina.com.cn/s/blog_68f262210102vx8o.html 第七章 测试用例接入jenkins自动运行 ------Web自动化测试之Webdriver+TestNG--从零到熟练(系列) 自动化测试用例的最终目的就是无人值守的自动化回归测试,不管是用什么语言,什么框架编写的测试用例,如果想达到这个效果,都需要借助于Jenkins或是Hudson.根据业界的习惯,我们还是使用Jenkins.在本人的各个自动化测试教程中,已经多次介绍到了Jenkins

PageObject设计模式进行自动化用例的设计方法

关于PageObject模式进行自动化代码的编写: PageObject简而言之理解就是:一个页面作为一个类,页面中所有的元素均作为类中的方法 当然PageObject也是一种分层思想. 以Python登录163邮箱举例: BrowserDriver作为打开浏览器驱动的一个方式 Page是所有的页面组成的一个包 Testcase就是实际的测试用例 1.Page中存在一个基本的page类,所有的页面类都需要继承的类:这样写的好处就是元素一旦修改,UI界面发生变化,我仅需修改我的page就行,不影响

Python Selenium 搭建Web UI自动化

Python搭建UI自动化环境 下载Python3 Python官网 PyCharm 环境配置 安装Python 勾选Add Python to PATH,一直下一步. 验证:CMD输入Python 下载Chrome Driver 点击下载chromedriver 将驱动放入Python根目录下 安装PyCharm 转载:安装教程 安装Selenium 打开PyCharm 新建Python File 点击面板底部 Terminal 输入pip install selenium 安装.pip li