python3+selenium框架设计08-进一步实现POM
之前都是只有一个页面,一个用例。这次两个页面。两个测试用例。其实界面自动化测试最大的难点在于driver的传递,需要保持唯一性。另外就是断言的难点。
修改之前的BaiduPage,新增部分代码
from Selenium_lesson.framework.Base_Page import BasePage
class BaiduPage(BasePage):
kw = ['id','kw']#搜索输入框
su = ['id','su']#搜索按钮
new = ['link','新闻'] def type_kw(self,value):
self.type(self.kw,value) def click_su(self):
self.click(self.su) def click_new(self):
self.click(self.new)
在pageobject文件夹下新增baidu_new_page.py文件,代码如下。
from framework.Base_Page import BasePage
class NewPage(BasePage):
ww = ['id','ww']
wr = ['id','s_btn_wr'] def type_ww(self,value):
self.type(self.ww,value) def click_wr(self):
self.click(self.wr)
在testsuites文件夹下新增test_baidu_new.py文件。代码如下
import unittest
from framework.Base_Page import BasePage
from pageobject.baidu_new_page import NewPage
from pageobject.BaiduPage import BaiduPage
class test_baidu_new(unittest.TestCase):
'''百度新闻''' def setUp(self):
bro = BasePage(self)
self.driver = bro.open_browser() def test_new(self):
'''搜索selenium'''
baidu = BaiduPage(self.driver)
baidu.click_new()
new = NewPage(self.driver)
new.type_ww('selenium')
new.click_wr()
if __name__ == '__main__':
unittest.main()
在创建页面实例的时候,一定要把self.driver传进

我这边执行成功,打开了百度首页,点击新闻,跳转到了新闻页面,然后搜索了selenium。
python3+selenium框架设计08-进一步实现POM的更多相关文章
- python3+selenium框架设计02-自动化测试框架需要什么
什么是自动化测试框架 自动化测试框架能够提供便利给用户高效完成一些事情,比如,结构清晰开发脚本,多种方式.平台执行脚本,良好的日志和报告去跟踪脚本执行结果. 关于自动化测试框架的定义有很多,在我大致理 ...
- python3+selenium框架设计06-编写POM测试用例
之前我们已经把测试基类,配置文件操作,浏览器引擎类封装完成.接下来使用POM的设计思路来创建我们的测试用例.接下来看一个实例,先在项目下新建pageobject文件夹.这个文件夹下放所有要测试的页面类 ...
- python3+selenium框架设计01-Page Object
页面对象模型Page Object Modal是一种脚本设计模型,将页面元素,业务操作分割,当实际页面发生变化的时候,只需要修改页面元素文件,业务操作不需要修改. 具体实现需要先写一个页面公共类,里面 ...
- python3+selenium框架设计03-封装日志类
首先我们先来实现日志的功能,日志可以使用python3自带logging模块,不会的可以百度一下相关文章,也可以看我另外一篇文章Python3学习笔记24-logging模块 在封装日志类前,我们需要 ...
- python3+selenium框架设计10-发送邮件
使用python3的email模块和smtplib模块可以实现发送邮件的动能.email模块用来生成email,smtplib模块用来发送邮件,接下来看如何在生成测试报告之后,并将报告放在邮件附件中并 ...
- python3+selenium框架设计07-unittest单元测试框架
可以自行百度学习下单元测试框架,或者看Python3学习笔记26-unittest模块 在项目下新建一个entrance.py文件.并使用之前的测试用例进行演示.目前项目结构. 在entrance ...
- python3+selenium框架设计04-封装测试基类
在完成了日志类封装之后,那我们就要对测试基类进行实现,在其中对一些请求再次封装,在项目下新建一个framework文件夹,在文件夹下新建Base_Page.py文件,这是用来写测试基类的文件.在项目下 ...
- python3+selenium框架设计05-配置文件和浏览器引擎类
python3配置文件的增删改查等操作可以使用内置的ConfigParser模块,可以自行百度学习,也可以看Python3学习笔记27-ConfigParser模块 配置文件一般存放着环境信息,比如u ...
- python3+selenium框架设计09-生成测试报告
使用HTMLTestRunner可以生成测试报告.HTMLTestRunner是unittest模块下的一个拓展,原生的生成报告样式比较丑,GitHub上有大佬优化过后的版本:GitHub地址.下载之 ...
随机推荐
- nGrinder TestRunnerBarrier.groovy / jihedian
s import net.grinder.script.Barrier import net.grinder.script.GTest import net.grinder.scriptengine. ...
- hadoop 开发环境搭建
一,安装java环境 添加java环境变量 vi /etc/profile # add by tank export JAVA_HOME=/data/soft/jdk/jdk1.7.0_71 ex ...
- Memcached入门学习
Memcached入门学习 学习网址:http://www.runoob.com/Memcached/Memcached-tutorial.html
- 如何优雅地使用Sublime Text3
此文非原创,出处见文章结尾. 一.Sublime Text 3插件安装 优雅使用Sublime Text,插件则是不可缺少的存在:而插件的备份就显得非常的重要(譬如:各平台同步:更换系统/电脑,迅速使 ...
- .net 数据绑定gridview 和Repeater 序号,Container.ItemIndex
gridview <asp:TemplateColumn HeaderText="编号"> <ItemTemplate> &l ...
- Chrome DevTools: Export your raw Code Coverage Data
The Code Coverage tool visually shows you which lines of code in your CSS and JavaScript are used an ...
- jira7通过全局js给编辑区自定义快捷键【原】
jira7编辑区自定义快捷键 本文主要描述了jira7如何通过添加全局js引用,给文本编辑区自定义快捷键用以快速填充模板内容. jira 3/4/5可参考官方api https://developer ...
- log4j 基础教程【转】
参考引用自: http://javacrazyer.iteye.com/blog/1135493 我的git地址: https://git.oschina.net/KingBoBo/Log4JDemo ...
- springBoot中实现自定义属性配置、实现异步调用、多环境配置
springBoot中其他相关: 1:springBoot中自定义参数: 1-1.自定义属性配置: 在application.properties中除了可以修改默认配置,我们还可以在这配置自定义的属性 ...
- 在CentOS7上安装Zabbix3.0
#!/bin/bash # # .配置无人值守的安装,定义安装过程中需要用到的一些信息 # mysql_root_pw=root_pw mysql_zabbix_pw=zabbix_pw DBPass ...