一、安装selenium和环境配置

1 pip install selenium

2 三个驱动文件放到d:盘根目录

3 安装火狐版本33

4 安装插件:selenium ide\firebug\firepath

5 下载三个Py程序,分别修改,将路径设定为三个驱动文件所在的路径,然后分别执行,看看是否可以打开浏览器,显示搜狗页面,有一个能成功即可

【踩坑】

IE浏览器的话需要设置

1、  缩放100%

2、  全勾选或者全不勾选

二、自动化测试
1、自动化测试优势:
(1)重复多次执行时节省时间,提高测试覆盖率
(2)自动化回归
(3)规范化过程
(4)历史文档记录
2、自动化测试局限性:
(1)只能发现15%的bug
(2)不能提高测试有效性,只能提高效率
(3)不具想象力,没人聪明
(4)不能取代手工测试
3、自动化测试的内容:
(1)测试数据自动生成
(2)自动化输入
(3)测试结果自动比较
(4)测试自动执行
(5)测试用例的管理
(6)在线监控
4、自动化脚本技术:
(1)线性脚本
(2)结构化脚本
(3)共享脚本
(4)数据驱动脚本
(5)关键字驱动脚本
数据驱动脚本示例:程序不变数据变
data.txt:
e:\\a.txt
e:\\1.html
 
main.py:
#encoding=utf-8
 
with open("data.txt") as fp:
    for i in fp:
        with open(i.strip()) as fp1:
            print fp1.read()
 
 
关键字驱动脚本示例:通过数据文件中的关键字,调用另一个文件中的函数,实现某个功能。 将测试逻辑按照这些关键字进行分解,形成数据文件,用关键字的形式将测试逻辑封装在数据文件中,测试工具只要能够解释这些关键字即可对其应用自动化
 
#练习:(1)将data.txt文件中op作为关键字,调用kd.py中的op()方法读取1.txt文件中的所有内容;(2)将data.txt文件中第二、三行数据用","区分,write和read作为操作类型;e:\\test4\\...作为操作路径;w和r作为操作权限;"glory road is good!"为写入内容;
kd.py:
#encoding=utf-8
def op():
    with open("e:\\test4\\1.txt") as fp:
        print fp.read()
 
def write(file_path,mode,content):
    with open(file_path,mode) as fp1:
        fp1.write(content)
 
def read(file_path,mode):
    with open(file_path,mode) as fp2:
        print fp2.read()
 
kd2.py:
#encoding=utf-8
from kd import *
 
with open("e:\\test4\\data.txt") as fp:
    for i in fp:
        if i.find(",")!=-1:
            prams=i.strip().split(",")
            if len(prams)==4:
                command=prams[0]+"(\""+prams[1]+"\",\""+prams[2]+"\",\""+prams[3]+"\")"
                print command
                eval(command)
 
            if len(prams)==3:
                command=prams[0]+"(\""+prams[1]+"\",\""+prams[2]+"\")"
                print command
                eval(command)
        else:
            prams=i.strip()
            command=prams+"()"
            print command
            eval(command)
 
data.txt:
op
write,e:\\a.txt,w,glory road is good!
read,e:\\a.txt,r
 
1.txt:
Process-2:2018-03-31 15:02:31
glory road is good!
 

5、使用自动化的一些典型场景:
(1)大量的回归测试
(2)注入测试数据
(3)敏捷开发的TDD模式,行为驱动开发模式
(4)机械并繁琐的测试
(5)业务监控
6、自动化术语:
(1)框架:整个或部分系统的可重用设计,可以看做是一种应用骨架
(2)关键字驱动的自动化测试:主要包括被操作对象、操作和值

【Python】UI自动化-1的更多相关文章

  1. (appium+python)UI自动化_09_unittest批量运行测试用例&生成测试报告

    前言 上篇文章[(appium+python)UI自动化_08_unittest编写测试用例]讲到如何使用unittets编写测试用例,并执行测试文件.接下来讲解下unittest如何批量执行测试文件 ...

  2. Python—UI自动化完整实战

    实战项目 均来源于互联网 测试报告2017年11月29日优化后的测试报告:https://github.com/defnngj/HTMLTestRunner 1.项目概述: 本实战已126邮箱为例子进 ...

  3. (appium+python)UI自动化_07_app UI自动化实例【叮咚搜索加车为例】

    前言 初学UI自动化的小伙伴,在配置好appium+python自动化环境后,往往不知道如何下手实现自动化.小编在初期学习的时候也有这种疑惑,在此以叮咚买菜app-搜索加车为实例,展示下appium是 ...

  4. (appium+python)UI自动化_01_自动化环境搭建【MAC版】

    Appium简介 Appium是一个开源的.跨平台的测试框架,主要用来进行app UI自动化,适用于原生应用.混合应用和移动网页应用(H5页面).目前支持Python.JavaScript.Objec ...

  5. python UI自动化之切换iframe

    python+selenium写UI自动化的时候,经常会遇到需要切换iframe的情况,这里介绍几种切换iframe的方式 1.使用id定位 driver.switch_to.frame(" ...

  6. Python UI自动化

    Python3--Uiautomator2--Pytest--Alure使用 官方源码GitHub地址:https://github.com/openatx/uiautomator2 介绍 uiaut ...

  7. (appium+python)UI自动化_03_元素定位工具

    前言 在UI自动化过程中,需要对手机app上的元素进行定位,然后进一步编写自动化脚本操作app.定位元素首先需要定位工具来辅助查看页面元素.小编常用的定位工具有2种,分别是uiautomatorvie ...

  8. python ui自动化之元素定位和常用操作

    做ui自动化的最基础的就是页面元素定位了,如果连页面元素都定位不到,自动化从何谈起呢?接下来我们就看看页面元素定位的方法吧!(这里就用百度页面来进行演示) 一.最通用的几种定位方式: 1.通过id定位 ...

  9. (appium+python)UI自动化_02_appium启动手机app

    前提:需先安装配置好appium+python自动化环境,已配置好环境的小伙伴可以参考以下步骤启动Android app,具体步骤如下: 一.USB连接手机 (1)手机USB连接电脑 (2)手机打开开 ...

  10. python UI自动化实战记录三:pageobject-基类

    脚本思路: 使用pageobject模式,写一个basepage基类,所有页面的通用方法封装到基类中.比如打开页面,关闭页面,等待时间,鼠标移到元素上,获取单个元素,获取一组元素,获取元素的子元素,截 ...

随机推荐

  1. html5 meta标签的认知储备

    在开发移动或者PC端的时候除了'<meta charset="UTF-8">'这个设置编码格式的meta标签,还有一些其他方面的设置 一.<meta name=& ...

  2. MySQL-1236问题处理

      2018年9月26日 9:25 现象:192.168.7.206.192.168.7.207互为双主,同步报错  1236   7.206现象如下 root@mysqldb 09:15  [mys ...

  3. Lucene.Net 学习(搜索部分)(低要求,写给自己看)

    1. 搜索 排序:lucene 提供了Sort类对结果进行排序 提供了Filter类对查询条件进行限制 你或许会不自觉地拿它跟SQL语句进行比较:“lucene能执行and.or.order by.w ...

  4. 【LeetCode】二分查找

    给一个升序数组,找到目标值在数组中的起始和结束位置,时间复杂度为 O(log n). e.g. 给定数组 [5, 7, 7, 8, 8, 10] 和目标值 8,返回 [3, 4].若目标值不在数组中, ...

  5. Async:简洁优雅的异步之道

    前言 在异步处理方案中,目前最为简洁优雅的便是 async函数(以下简称A函数).经过必要的分块包装后,A函数能使多个相关的异步操作如同同步操作一样聚合起来,使其相互间的关系更为清晰.过程更为简洁.调 ...

  6. 解决maven 找不到指定路径应该如何

    如果打开每个项目都有红x!!!解决办法: 1) 2)-->点击clean ,ok!!

  7. maven聚合工程tomcat插件启动没有 Starting ProtocolHandler ["http-bio-8081"]

    Starting ProtocolHandler ["http-bio-8081"]无法显示,一般有三个原因: (1)数据库连不上: (2)注册中心连不上(我这里用的是zookee ...

  8. sublime markdown 设置

    安装Markdown Preview 修改用户配置文件(代码高亮): { "enable_highlight": true } 快捷键: ctrl+b 生成html文档 安装Omn ...

  9. Qt Widgets——抽象按钮及其继承类

    QAbstractButton是有关“按钮”的基类 描述了一个按钮应该具有的组成.它的公有函数如下: QAbstractButton(QWidget * parent = ) ~QAbstractBu ...

  10. win10装机重装系统

    win10装机     1● u启制件   http://www.laomaotao.org.cn/     http://www.laomaotao.org.cn/     2● 目标盘 3● 安装 ...