本UI 自动化框架主要的实验的目的是:完成了登录页面的自动化登录与打开会员中心的页面这一自动化的过程。

废话不多说,直接上代码截图:

我们首先来看看整个工程的目录结构,这样以便于了解项目的调用关系:

comwork  # 公共包目录

-- OpenBrower.py 这个是全局打开浏览器的文件config   #这里是配置包

-- configDict.py 具体配置了请求的url 和选择使用什么浏览器

log  #存放日志的目录

pagework  # 这里是存放了页面的元素及操作的页面文件

--BasePage.py 这个文件是封装了webdriver 的查找元素方法的文件

--LoginPage.py 这个文件是登录页面文件

--BackendUserCenterPage.py 这个文件是打开会员中心的页面文件

srceenshop  #存放报错页面截图的目录

testcase  # 这里存放了具体要执行自动化的执行文件

--BasetestCase.py 这个文件是一个基类文件,用于做开始前与结束后的初始化工作的文件

--LoginCase.py 这个文件是一个入口执行文件

tools  #存放报告的目录

--log.py 这个文件是对日志输出做格式处理的文件

Step1、代码运行入口

执行含有main的主文件,LoginCase 这个类继承了三个类,分别是BasetestCase,LoginPage,BackendUCPage, 其中的LoginPage 文件里面封装了Login()的方法,用于页面登录操作,BackendUCPage 文件里面封装了UCInfo()的方法,用于打开会员中心的页面操作。

Step2、 BasetestCase.py文件内容如下,

这个类文件被LoginCase 类文件继承后,会去执行这一行关键的操作,打开浏览器,并传入了浏览器的类型和网址url 二个变量及已执行完成后的浏览器退出操作。

OpenBrowse.py 文件如下:

Step3、 LoginPage.py 对登录页面元素进定位并有方法封装操作

Step4、 BackendUCPage.py 对会员页面元素进行定位和方法封装操作

Step5、BasePage.py 这是一个封装webdriver 查找页面元素的通用方法类文件

总结:UI自动化测试是测试工程师必备技能之一,努力打造自我的核心竞争力,我们仍然是一直在路上不断的学习和进步,与君共勉。如有想要源码的可以给我邮件,我的邮箱是loadkernel@126.com.

备注:我的个人公众号已正式开通,致力于测试技术的分享,包含:大数据测试、功能测试,测试开发,API接口自动化、测试运维、UI自动化测试等,微信搜索公众号:“无量测试之道”,或扫描下方二维码:

 添加关注,一起共同成长吧。

Python UI自动化测试实操的更多相关文章

  1. Python API自动化测试实操

    废话不多说,直接上代码截图: 我们首先来看看整个工程的目录结构,这样以便于了解项目的调用关系:config   #这里是配置包 -- base_url.py 具体配置了被测系统的url and pat ...

  2. python UI自动化测试

    为了减小维护成本: 1.UI自动化测试需要有较为稳定的环境 2.代码设计合理,那么我们就需要面向对象的设计一个框架,将重复的代码模块化 一.首先总结一下 UI自动化大概要哪些模块 1.config(配 ...

  3. 关于去哪儿网的UI自动化测试脚本(Python实现)

    UI自动化测试Qunar机票搜索场景访问Qunar机票首页http://flight.qunar.com,选择“单程”,输入出发.到达城市,选择today+7日后的日期,点“搜索”,跳转到机票单程搜索 ...

  4. Python关于类的实操

    实操一:总结 1.什么是绑定到对象的方法,如何定义,如何调用,给谁用?有什么特性? 2.什么是绑定到类的方法,如何定义,如何调用,给谁用?有什么特性? 3.什么是解除绑定的函数,如何定义,如何调用,给 ...

  5. 动手实操:如何用 Python 实现人脸识别,证明这个杨幂是那个杨幂?

    当前,人脸识别应用于许多领域,如支付宝的用户认证,许多的能识别人心情的 AI,也就是人的面部表情,还有能分析人的年龄等等,而这里面有着许多的难度,在这里我想要分享的是一个利用七牛 SDK 简单的实现人 ...

  6. Python相关分析—一个金融场景的案例实操

    哲学告诉我们:世界是一个普遍联系的有机整体,现象之间客观上存在着某种有机联系,一种现象的发展变化,必然受与之关联的其他现象发展变化的制约与影响,在统计学中,这种依存关系可以分为相关关系和回归函数关系两 ...

  7. Python+appium+unittest UI自动化测试

    什么是UI自动化 自动化分层 单元自动化测试,指对软件中最小可测试单元进行检查和验证,一般需要借助单元测试框架,如java的JUnit,python的unittest等 接口自动化测试,主要检查验证模 ...

  8. 如何练习python?有这五个游戏,实操经验就已经够了

    现在学习python的人越来越多了,但仅仅只是学习理论怎么够呢,如何练习python?已经是python初学者比较要学会的技巧了! 其实,最好的实操练习,就是玩游戏. 也许你不会信,但这五个小游戏足够 ...

  9. UI自动化测试框架(项目实战)python、Selenium(日志、邮件、pageobject)

    其实百度UI自动化测试框架,会出来很多相关的信息,不过就没有找到纯项目的,无法拿来使用的:所以我最近就写了一个简单,不过可以拿来在真正项目中可以使用的测试框架. 项目的地址:https://githu ...

随机推荐

  1. easytornado

    0x01 进入网站,发现3个文件 逐一查看 flag.txt url:?filename=/flag.txt&filehash=d3f3ff3f92c98f5f0ff4b8c423e1c588 ...

  2. masonry中的make,remake,update

    - (void)viewDidLoad { [super viewDidLoad]; self.navigationController.navigationBar.translucent = NO; ...

  3. onmouseenter,onmouseleave,onmouseover,onmouseout的区别

    首先,这四个事件两两配对使用,onmouseenter.onmouseleave一对,onmouseover.onmouseout一对,不能混合使用. onmouseenter 和 onmousele ...

  4. 如何发布自己用python写的py模块

    Python——怎么发布你的Python模块 我们在学习Python的时候,除了用pip安装一些模块之外,有时候会从网站下载安装包下来安装,我也想要把我自己编写的模块做成这样的安装包,该怎么办,如何发 ...

  5. Rabbit的字符串 字符串最小表示法

    Rabbit的字符串 #include<bits/stdc++.h> using namespace std; ; char s[maxn]; int get_min_pos() { , ...

  6. 7.2 Go type assertion

    7.2 Go type assertion 类型断言是使用在接口值上的操作. 语法x.(T)被称为类型断言,x代表接口的类型,T代表一个类型检查. 类型断言检查它操作对象的动态类型是否和断言类型匹配. ...

  7. zabbix监控redis多实例cpu mem-自动发现

    1.自动发现实例端口脚本,用于zbx item prototypes #!/bin/bash REDIS_PORT=`ps aux |grep redis-server | grep -v 'grep ...

  8. mysql小白系列_09 mysql性能优化关键点

    一 服务器参数调优,有哪些关键点? 1. 应用访问优化 优化方法 性能提升效果 优化成本 说明 减少数据访问能不访问就不访问-减少磁盘IO 1~1000 低 缓存服务器缓存mysql数据,Redis. ...

  9. JAVA设计模式之原型模式(prototype)

    原型模式: 原型模式又叫克隆模式 Java自带克隆模式 实现克隆模式必须实现Cloneable 接口,如果不实现会发生java.lang.CloneNotSupportedException异常 当某 ...

  10. Kd Tree算法详解

    kd树(k-dimensional树的简称),是一种分割k维数据空间的数据结构,主要应用于多维空间关键数据的近邻查找(Nearest Neighbor)和近似最近邻查找(Approximate Nea ...