精华内容
下载资源
问答
  • UI自动化

    千次阅读 2018-07-27 17:45:59
    UI自动化 作者:LIDIANCHUN 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。   一、Appium安装   下列两种方法任选其一: 1. 安装桌面版appium   从官网下载最新的appium-desktop...

    UI自动化

    作者:LIDIANCHUN
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
     

    一、Appium安装

     

    下列两种方法任选其一:

    1. 安装桌面版appium

     

    从官网下载最新的appium-desktop,进行安装
    安装完成,即可通过appium.exe启动appium服务

    2. 安装命令行版appium

     

    先安装node.js环境,直接通过node.js的安装包管理工具npm进行安装
    安装命令:npm i appium -g 
    安装成功,可以直接通过cmd运行命令:appium ,启动服务。

    二、Robotframework安装

    1. python环境安装

     

    因为robotframework是基于python语言开发,需先安装python环境。
    下载32位的python安装包(切记32位,等下安装的wxpython要与python位数一致,64位的wxpython实在太难找)
    安装成功,需配置环境变量(path=%path%;C:\Python27),其中C:\Python27 是Python的安装目录。
    在cmd命令行,输入命令"python",就可以有相关显示。

    2. robotframework安装(自动化框架)

     

    (1) 非标机

    安装命令:pip install robotframework

    (2) 标机

    下载https://pypi.python.org/pypi/robotframework ,解压成文件夹后,cmd界面进入该文件夹目录(有setup.py的目录),
    输入python setup.py install进行安装即可

    3. robotframework-ride安装(安装脚本开发IDE)

     

    (1)非标机

    安装命令:pip install robotframework-ride

    (2)标机

    下载https://pypi.python.org/pypi/robotframework-ride ,操作如上

    4. wxpython安装

     

    robotframework-ride基于python的GUI库wxpython开发,所以需要安装wxpython库
    使用wxpython安装包进行安装。

    以上步骤安装完成后,打开cmd运行命令:ride.py 即可启动(前提配置了C:\Python27\Scripts的环境变量)

    或者打开C:\Python27\Scripts 双击ride.py启动。

    5. 测试库安装

    5.1 WEB自动化需安装SeleniumLibrary或者Selenium2Library库

     

    (1)非标机

    安装命令:pip install robotframework-seleniumlibrary 
    pip install robotframework-selenium2library

    (2)标机

    下载http://pypi.python.org/packages/source/s/setuptools/setuptools-0.6c11.tar.gz
    下载https://pypi.python.org/pypi/decorator 
    下载https://pypi.python.org/pypi/docutils 
    下载https://pypi.python.org/pypi/selenium
    下载https://github.com/robotframework/SeleniumLibrary/releases 
    下载https://pypi.python.org/pypi/robotframework-selenium2library

    5.2 移动端自动化需安装AppiumLibrary库

     

    (1)非标机

    安装命令: pip install robotframework-appiumlibrary

    (2)标机

    下载https://pypi.org/simple/setuptools-scm/ 
    下载https://pypi.org/simple/pytest-runner/ 
    下载https://pypi.org/simple/kitchen/ 
    下载https://pypi.org/project/six 
    下载https://pypi.org/project/robotframework-appiumlibrary/

    三、Robotframework+appium使用

    1. Robotframework-ride工具使用

     

    以上步骤安装完成后,打开ride。

    点击file -> New Project
    填入project name,Type选择Diretory,点击OK。
    然后右击项目名 -> New Suite
    填入suite name,Type选择File,点击OK。
    然后右击suite -> New Test Case 
    填入Test Case name,Type选择File,点击OK。
    最后导入测试库:
    点击suite,然后点击右侧的Library。
    如导入SeleniumLibrary库,name填入SeleniumLibrary,切记区分大小写
    如导入AppiumLibrary库,name填入AppiumLibrary,切记区分大小写
    点击ok后,显示黑色则导入成功,显示红色则失败。
    点击tools菜单栏 -> View RIDE Log,显示报错信息。

    2. Web端和移动端测试

    2.1 web端测试

     

    在google浏览器进行测试,需将chromedriver.exe放到C:\Program Files (x86)\Google\Chrome\Application下。
    然后开始编写测试用例,编写完,点击run -> start

    2.2移动端测试

    (1)测试Android

     

    需安装sdk环境,配置环境变量(../Android\android-sdk\platform-tools)。
    将数据线连接电脑与手机,电脑需要安装成功手机驱动,然后开始编写测试用例建立连接,使用Open Application方法。
    参数如下:
    URL :http://localhost:4723/wd/hub (appium的ip和端口)
    platformName:Android或者IOS
    platformVersion:手机系统版本
    deviceName:在cmd命令行,输入adb devices指令获取,显示连接的手机驱动列表,左边序号就是deviceName
    appPackage和appActivity的获取:自行百度

    (2)测试IOS

     

    测试IOS需要在OS X中才能运行Appium测试

    1.本地方式进行Appium测试
    在OS X上安装Robotframework+Appium,这种方式的好处是直接,能够很直接的得到测试结果。
    2.远程方式进行Appium测试(推荐)
    使用ride远程连接Appium,在OS X系统中启动appium,在Windows系统中启动RIDE并运行测试。

    四、Robotframework +SVN+Jenkins

     

    应用场景:Jenkins定时执行SVN上的测试用例,实现了真正意义上web端的自动化。
    前提条件:Jenkins需安装Robot Framework plugin插件
    操作流程:
    1.将Robotframework的Project文件夹上传到SVN服务器上
    2.在Jenkins构建一个自由风格的软件项目,输入一个项目名称。
    3.配置参数
    (1)源码管理,选择Subversion,填入上传的Project的SVN路径。
    (2)构建触发器。H 2 * * *:每天凌晨2点执行一次。
    (3)增加构建步骤,在构建中,选择“execute window batch command”
    选中后,输入pybot.bat C:\jenkins\workspace\Jenkins的项目名称
    (4)构建项目,点击立即构建按钮,然后点击build History最新构建记录 ->Console Output
    展开全文
  • UI即User Interface(用户界面)的简称传统的UI测试就是通过人工的方式去操作用户界面,从而发现程序的bug,那么UI自动化要做的事情就是用代码替代人为的操作,完成对用户界面的测试。那什么样的项目适合做UI自动化...

    首先什么是UI?

    UI即User Interface(用户界面)的简称

    传统的UI测试就是通过人工的方式去操作用户界面,从而发现程序的bug,那么UI自动化要做的事情就是用代码替代人为的操作,完成对用户界面的测试。

    9788e4ff3cab522b0c87d058ceb5e84c.png

    那什么样的项目适合做UI自动化呢?

    eed4ddd6bdbfdfd1b83eea6837af19e7.png

    Web端UI自动化工具介绍

    1.UTF( Unified Functional Testing) = QTP( Quick Test Pro) + ST( Service Test)由 HP 公司开发。它是一种企业级的自动测试工具,提供了强大易用的录制回放功能,

    同时兼容对象识别模式与图像识别模式两种识别方式,支持 B/S 与 C/S 两种架构的软件测试,是目前主流的自动化测试工具。主要是用于回归测试和同一软件的新版本测试。

    2.Robot Framework:是一款基于 Python 语言编写的自动化测试框架,具备良好的可扩展性,支持关键字驱动,可以同时测试多种类型的客户端或者接口,可以进行分布式测试。

    3.Selenium:Selenium 也是一个用于 Web 应用程序测试的工具,支持多平台、多浏览器、多语言去实现自动化测试。目前在 Web 自动化领域应用越来越广泛。

    目前行业用的比较多的无非就是Selenium,所以重点说一下selenium的优点:

    1. 1、开源、免费
    2. 2、多浏览器支持:Firefox、Chrome、IE、Opera
    3. 3、多平台支撑:windows、linux、MAC
    4. 4、对web页面有良好的支撑
    5. 5、简单(API简单)、灵活(用开发语言驱动)
    6. 6、支持分布式执行测试用例

    首先什么是UI?

    UI即User Interface(用户界面)的简称

    传统的UI测试就是通过人工的方式去操作用户界面,从而发现程序的bug,那么UI自动化要做的事情就是用代码替代人为的操作,完成对用户界面的测试。

    9788e4ff3cab522b0c87d058ceb5e84c.png

    那什么样的项目适合做UI自动化呢?

    eed4ddd6bdbfdfd1b83eea6837af19e7.png

    Web端UI自动化工具介绍

    1.UTF( Unified Functional Testing) = QTP( Quick Test Pro) + ST( Service Test)由 HP 公司开发。它是一种企业级的自动测试工具,提供了强大易用的录制回放功能,

    同时兼容对象识别模式与图像识别模式两种识别方式,支持 B/S 与 C/S 两种架构的软件测试,是目前主流的自动化测试工具。主要是用于回归测试和同一软件的新版本测试。

    2.Robot Framework:是一款基于 Python 语言编写的自动化测试框架,具备良好的可扩展性,支持关键字驱动,可以同时测试多种类型的客户端或者接口,可以进行分布式测试。

    3.Selenium:Selenium 也是一个用于 Web 应用程序测试的工具,支持多平台、多浏览器、多语言去实现自动化测试。目前在 Web 自动化领域应用越来越广泛。

    目前行业用的比较多的无非就是Selenium,所以重点说一下selenium的优点:

    1. 1、开源、免费
    2. 2、多浏览器支持:Firefox、Chrome、IE、Opera
    3. 3、多平台支撑:windows、linux、MAC
    4. 4、对web页面有良好的支撑
    5. 5、简单(API简单)、灵活(用开发语言驱动)
    6. 6、支持分布式执行测试用例
    展开全文
  • UI自动化简介

    2021-02-08 11:12:46
    什么是UI自动化2.UI自动化的作用3.UI自动化的优缺点总结 前言 重新梳理之前UI自动化的知识点,发现好多东西都忘记了需要重新了解学习,正好有时间重新学习。两个字-温故知新 一、UI自动化简介 1.什么是UI自动化 UI...

    前言

    重新梳理之前UI自动化的知识点,发现好多东西都忘记了需要重新了解学习,正好有时间重新学习。两个字-温故知新

    一、UI自动化简介

    1.什么是UI自动化

    UI自动化测试,即通过模拟手动操作用户UI界面的方式,以代码方式实现自动操作和验证的一种自动化测试手段。分为Web端和App端,Web端以Selenium驱动web UI的自动化测试为主流。App端的appium,还有诸如uiautomator、espresso、robotium等等。
    下面是万能的金字塔图,好像没有个分享都会用到金字塔。
    在这里插入图片描述

    2.UI自动化的作用

    1、重复性的功能测试及验证
    2、避免疲惫操作时的人为测试遗漏
    3、通过UI自动化操作获取其他测试数据的能力

    3.UI自动化的优缺点

    优点:

    1. 用例编写简单,降低上手门槛
    2. 节省人工测试成本,提高功能测试、回归测试的测试效率
    3. 保障软件质量的一种手段和方式

    缺点:

    1. UI控件的频繁变更导致控件定位
    2. 用例脚本的维护成本较高,投入和产出比例低
    3. 元素定位的不稳定导致用例的效率和稳定性差

    总结

    虽然ui自动化有很多的不足,但是这也是软件质量保障的一种方式和方法。需要测试人员投入更多的时间,鱼和熊掌不可兼得,需要一个合理的占比。
    可以参考的文章:https://cloud.tencent.com/developer/article/1170543

    展开全文
  • 1.你是如何搭建ui自动化框架的?8 Q7 U9 c& V9 G, ~; ^# G+ ^( A$ ]在搭建ui自动化框架,使用的是po设计模式,也就是把每一个页面所需要R' ^8 q2 o1 }`操作的元素和步骤都封装成一个页面类中。然后使用selenium+...

    1.你是如何搭建ui自动化框架的?

    8 Q7 U9 c& V9 G, ~; ^# G+ ^( A$ ]在搭建ui自动化框架,使用的是po设计模式,也就是把每一个页面所需要

    R' ^8 q2 o1 }  `操作的元素和步骤都封装成一个页面类中。然后使用selenium+unitest搭建, H. D8 z' T5 A. V

    四层框架实现数据、脚本、业务逻辑分离(关键字驱动)。其中四层框架包括

    ) \, G! {: h4 b2 v基础层(BasePage)、业务逻辑层(Pages)、数据层(Data)、测试用例层(Testcase)$ f8 J$ w2 {; Y5 L

    ( x; s+ @8 {# t& n( K6 Q& e

    - u- O. E& z8 H' x' F

    2.UI自动化测试中定位方式有哪些,哪些是你常用的?. p5 M4 e0 J  J5 R0 F0 Q; ^, e& y

    By ID" l( u+ g( d* q4 F3 Z0 H

    By Class Name% c; T. f: ^. K3 W- F1 X- b4 x

    By Tag Name

    8 ^! ]) z/ w5 i+ a8 H( [" XBy Name# K/ F7 N7 n3 G0 k! u4 m

    By Link Text0 K* }6 C8 b* S, A

    By Partial Link Textzhi+ {4 _3 }* U) T

    By CSS Seletor# X" w' L. D7 [& b* L

    By XPath

    2 `+ c5 P5 r. E' ^  t; [/ _/ I) p. y! ~

    / m7 n, g7 w6 {8 h' j: l1 i

    % {  S1 O" |! B4 J/ e& h3.UI自动化测试有哪些缺点?如何改进?, ?8 l  N& ]9 B. [/ r9 z) b5 K

    不稳定,页面经常变,不好定位,不适合业务复杂和频繁变动的项目

    / R0 d  ~8 k+ K4 j% B改进:在项目中尽量使用显示等待' f2 A& t, L0 b. E/ v0 ]+ m' G0 i

    1 [- K- d0 N+ d6 ]1 \* e

    f- `. W4 k- O6 X/ l& F# J4.请你描述一下在UI自动化运用的等待机制区别?3 p  x5 @# ~, t2 b2 w

    sleep()强制等待,设置固定休眠时间,执行sleep()后线程休眠

    1 v. ]9 r  q0 h+ x3 R% Y而另外两种线程不休眠

    0 m8 I1 P' r  J0 p: E7 W7 [7 G# ^隐式等待,是设置的全局等待" w$ G/ \7 G% M8 [3 R9 W' ~

    显示等待,是针对于某个特定的元素设置的等待时间

    & E5 j8 v. q/ Y: L" |2 H5 `8 c% o- ?/ B2 t( {

    : {/ Q- o- J1 Q- o3 G7 a

    5.PO设计模式的原理?哪些地方能够改善?% J# ?% I! u; |

    原理:

    * ?  ?0 v$ v; \; bPO模式,全称 Page object ,页面对象模型。

    : @4 r- `1 y! u% s将页面的元素定位和元素行为封装成一个 page 类。1 P( t% o2 q6 Z+ s

    实现页面对象和测试用例分离。0 Z3 B- _+ h1 k* c) {* q

    改善:

    5 {6 r$ L# U# Z# @! P: a其中对对象库层、逻辑层、业务层进行了一系列封装4 ]7 M8 _+ e' p8 }

    # @' I9 R$ w2 I/ R( k# l4 y: ?$ \" v: B* ], w! D* J

    6.Unittest框架有什么缺点?

    4 c: k+ A( c4 H+ C+ w, Q2 D1 不够灵活,比如进行 ui 自动化设计时,会多次打开浏览器,增加脚本运行时间2 u  {" M! h; S1 k3 ]: t

    2 测试报告不够全面,没有 pytest 的 allure 测试报告清晰美观0 ~. K1 D% y0 Y  E7 N2 D5 }

    . z; f% b: a3 D4 E

    0 D+ {  z: H; {9 r7.Webdriver的原理: f( O& l; h* W1 y2 w; \- S8 F4 Z

    由于客户端脚本(java, python, ruby)不能直接与浏览器通信,这时候可以把Webdriver 当做一个翻译器,它可以把客户端代码翻译成浏览器可以识别的代码(比如js).客户端(也就是测试脚本)创建 1 个 session,在该 session 中通过 http 请求向Webdriver 发送请求,Webdriver 翻译成浏览器懂得脚本传给浏览器,浏览器把执行的结果返回给 Webdriver,Webdriver 把返回的结果做了一些封装(一般都是 json 格式),然后返回给客户端,根据返回值就能判断对浏览器的操作是不是执行成功。3 x! j2 s  I* `; w9 T9 P

    2 H9 [& H) M9 T$ s& [9 {

    & Q& w4 r$ k* @' F  {. n. G

    8.selenium 中 hidden 或者是 display = none 的元素是否可以定位到?

    2 J1 \5 L; F; H7 D- R% [不能

    4 s/ `7 I* j& I5 [7 \& z) t( W- G& f/ Z0 i6 F) b- V

    6 I! r& _3 G9 Z! |& n" ~6 M

    9.如何提高 selenium 脚本的执行速度?" V4 a  j0 |  u  t: N

    1减少操作步骤,减少脚本用例不必要的步骤

    ' Q5 C1 ^* Y) j: {2设置等待时间的时候,可以' Z5 G' f7 P5 i1 s7 b! M

    sleep 固定的时间,也可以检测某个元素出现后中断等待也可

    ; q! e+ q, x$ [6 x/ f' e以提高速度

    " o& L7 [- R' H: j( j  y3实现多线程。在编写测试用例的时候,一定要实现松耦合,然后在服务器允许的情况下,1 @& `! S4 I; I4 b- ?: A0 \' Y

    尽量设置多线程运行,提高执行速度。

    0 V# A3 b1 Q$ B& Y% L; z& K  W8 V; @

    # j" W9 R4 V/ T' n9 E5 i3 h! o# ]

    10.如何实现多线程?6 i1 j. i: Q, S1 e

    先写一个run的函数

    : S  n0 E% q& ]! |: g7 B& v保证for循环能跑的通

    8 Q) d0 j1 C5 N  i在run函数上加个装饰器 @threads(n),n是线程数7 k& m# M: U$ V* W0 N

    , \  i. B( Y) b1 r& c* {: u. N9 A* X6 }, x: ~1 O9 ^/ P8 B# X8 A

    11.说一下XPATH定位的原理?

    * p& i3 a! m2 `9 I0 ~, Y9 @2 H  @基于HTML的文档目录结构进行定位元素: ^: G$ J1 P6 B! s

    N/ B! R6 W* p6 L/ [5 k/ v

    0 }3 G4 p* v5 n0 N7 u  a% M12.selenium中如何判断元素一定存在?* {& j2 R! q. h& L) H

    Presense_of_element_located, [6 U+ ]0 @) [: z7 Y) h

    0 G. Y% j5 j/ i5 f

    Java吧 收集整理 java论坛 www.java8.com

    展开全文
  • 走进UI自动化 .pdf

    2021-04-11 20:48:48
    走进UI自动化 .pdf
  • UI自动化测试

    2020-08-04 19:12:59
    UI自动化测试UI自动化测试简介UI自动化测试的适用场景 UI自动化测试简介   UI即User Interface(用户界面)的简称:传统的UI测试就是通过人工的方式去操作用户界面,从而发现程序的bug,那么UI自动化要做的事情...
  • UI自动化demo

    2018-02-26 21:23:41
    UI自动化,提供各类数据驱动demo,可运行,请自行官网下载appium
  • UI自动化的学习,个人认为应该分五步走:环境搭建、元素定位、特殊场景处理、框架设计与搭建、测试平台开发。第一步的环境搭建其实没什么难度,都是固定的套路。今天就来到了第二步的元素定位,可以说元素定位是整个...
  • haulhub_web_ui_automation:Web UI自动化的自动化存储库
  • UI自动化源码
  • UI自动化selenium

    2019-03-11 14:29:00
    1、什么是UI自动化?模拟人用代码的方式去操作页面2、为什么要做UI自动化?后期迭代的时候,老功能比较多,人工维护成本较大,重复性工作较多,这个时候就考虑因为UI自动化3、什么时候做UI自动化?项目稳定,不再...
  • UI 自动化录制:Selenium IDE 通过 Selenium IDE 录制并重播功能,可以快速创建UI 自动化测试用例。 可以直接在界面中点击执行。 也支持在命令行运行测试脚本: $ selenium-side-runner test_baidu_...
  • UI自动化全流程.xlsx

    2021-03-31 16:16:32
    博主亲自搭建的一套UI自动化全流程
  • 实施过了web系统的UI自动化,回顾梳理下,想到什么写什么,随时补充。 首先,自动化测试不是手动测试的替代品,是比较好的补充,而且不是占大比重的补充。 70%的测试工作集中在底层接口测试和单元测试,20%的测试...
  • UI自动化开发指南

    2017-10-10 18:01:43
    UI自动化开发指南,包含基本安装,配置,使用方法和实例。
  • ui自动化多线程+聚合报告;ui自动化多线程+聚合报告;ui自动化多线程+聚合报告’
  • 当我们找工作的时候查看招聘信息发现都需要...大部分测试初学者入门自动化测试接触最多的也许就是 UI 自动化了,也都使用过移动端的 Uiautomator、Appium UI自动化框架、PC 互联网界面相关的 Selenium、Robot Framewor
  • 我发现了,大家极度关心自动化测试,尤其是UI自动化测试,虽然现在作为专项测试,离开这些越来越远了,但总能遥想以前,我总能想起自己做nokia的WindowsLive的ui自动化,做web的自动化  我发现了,大家极度关心自动...
  • 我发现了,大家极度关心自动化测试,尤其是UI自动化测试,虽然现在作为专项测试,离开这些越来越远了,但总能遥想以前,我总能想起自己做nokia的WindowsLive的ui自动化,做web的自动化测试,后面加入腾讯,写过pc的...
  • UI 自动化测试 iQuery ,在程序界面(UI自动化测试中,最烦人的就是抓取控件的过程了,要么是程序员忘记在代码里给控件添加自动...
  • Selenium Web Ui 自动化测试.xmind
  • UI自动化存在的缺点

    2021-04-12 13:31:34
    UI自动化存在的缺点一、UI自动化测试概念二、UI自动化存在的缺点 一、UI自动化测试概念 最上层的UI自动化是测试,就是用程序模拟用户手工操作的测试方法,模拟鼠标键盘的操作,能够帮助测试人员从重复和枯燥的手工...
  • UI自动化测试有关的技术软件测试大家都知道,针对UI的自动化技术一般要支持下列的东西:1.识别窗口能够识别尽量多的窗口种类,支持尽量多的UI技术。比如Win32、WinForm、WPF以及WebPage(这个比较特殊,确切的说不...
  • WebUI自动化测试平台

    2019-08-07 23:57:57
    这是一款无需编码即可实现WebUI自动化测试的平台。为了方便新手尽快熟悉平台,每一页都有帮助向导!
  • IOS-UI自动化框架学习

    2019-01-17 17:20:04
    IOS的UI自动化测试由于系统封闭的原因,一直不太成熟。UI Tests是Xcode7推出的一项UI自动化测试功能,毕竟是apple官方推出,相对来说比较稳定,它可以通过编写代码、或者是记录开发者的操作过程并代码化,来实现自动...
  • 一环境及软件最新下载地址 二安装配置 JDK 三安装配置 python 四安装配置 eclipse 五 eclipse 配置 python 开发环境 六 eclipse 新建 python 项目 七接口自动化环境搭建 八 UI 自动化环境搭建 九 Windows GUI 程序...
  • ui自动化设计思路

    千次阅读 2019-04-09 13:56:07
    小伙伴让我周末做技术分享,想着这是一件有意义的事情,便答应了下来,那就给大家讲讲ui自动化吧。这里会结合具体的代码给大家讲ui自动化一些理念,方案设计。 本文将探讨ui自动化设计思路,主要围绕以下方面展开...
  • python+seleniumUI自动化测试项目实践。python+seleniumUI自动化测试项目实践。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 14,005
精华内容 5,602
关键字:

ui自动化