当前位置: 首页 > news >正文

网站稿件管理发布系统拓者吧装修效果图

网站稿件管理发布系统,拓者吧装修效果图,网页版梦幻西游水晶宫攻略,wordpress卡密激活码自动发放ui自动化po框架版本02 一、 pages下的BasePage.py模块 此模块是封装所有用例的基类 比如说#xff1a;所有用例要用到的元素定位#xff0c;以及输入框输入#xff0c;点击#xff0c;下拉等等公共方法import unittest #导入unittest 框架 from time import *# 调试代码…ui自动化po框架版本02 一、 pages下的BasePage.py模块 此模块是封装所有用例的基类 比如说所有用例要用到的元素定位以及输入框输入点击下拉等等公共方法import unittest #导入unittest 框架 from time import *# 调试代码 from selenium import webdriver #driver webdriver.Chrome()class BasePage(unittest.TestCase): #创建一个BasePage类这个类继承unittest框架中TestCase这个类classmethod #我们在Ui 自动化我们就是打开浏览器我们之前是把所有的浏览器都是同一个我们创建类方法def set_driver(cls,driver): #入参是一个driver对象把创建好的driver对象传进来变成BasePage这个类的属性#把传进来的谷歌浏览器对象作为当前类、基类属性基类的变量cls.driver driver #保证每一个用例用的是同一个driverclassmethoddef get_driver(cls): #单例设计模式 #创建好以后basepage来拿通过get_driver来都是同一个对象return cls.driver :#baidu_input(id,kw)classmethod#优点把重复的代码都省了def find_element(cls,element): #定位元素的时候用到很多种方法type element[0] #idvalue element[1] #kwif type id:elem cls.driver.find_element_by_id(value)elif type xpath:elem cls.driver.find_element_by_xpath(value)elif type class:elem cls.driver.find_element_by_class_name(value)elif type name:elem cls.driver.find_element_by_name(value)elif type css:elem cls.driver.find_element_by_css_selector(value)elif type link_text:elem cls.driver.find_element_by_link_text(value)elif type partial:elem cls.driver.find_element_by_partial_link_text(value)else:raise ValueError(plese input corrt paramters)return elemclassmethod #封装输入函数def sendKeys(cls,elem,text):return elem.send_keys(text)classmethod #封装点击操作def click(cls,elem):return elem.click()classmethoddef wait(cls,sec):封装一个隐式等待return driver.implicitly_wait(sec)classmethoddef sleep(cls,sec):return sleep(sec)classmethoddef frame(cls,elem):定位iframe框return cls.driver.switch_to.frame(elem)classmethoddef outframe(cls):return cls.driver.switch_to.default_content()classmethoddef get_text(cls,element):封装根据网页元素拿到text值value BasePage.find_element(element).textreturn valueif __name__ __main__:from selenium import webdriver driver webdriver.Chrome()driver.get(http://www.baidu.com)driver.maximize_window()baidu_input (id,kw)elem BasePage.find_element(baidu_input).send_keys(多测师)# elem BasePage.find_element(baidu_input) #调用elem的返回值就得得到elem值# BasePage.sendKeys(elem,多测师) 注意1、点通过解释调试 2、调用的时候用类的方法注解 unittest.TestCase的子类BasePage增加两个类方法set_driver和get_driver set_driver(cls, driver) 方法是用来设置driver属性的。这个方法接收一个driver参数这个参数通常是一个webdriver对象例如来自selenium库然后把这个对象赋值给BasePage类的一个属性也就是cls.driver。这个方法通常在测试类的setup方法中被调用以便在执行测试用例前准备好webdriver。 get_driver(cls) 方法是用来获取driver属性的。这个方法返回BasePage类的一个属性也就是cls.driver。这个方法通常在测试类的teardown方法中被调用以便在执行测试用例后清理webdriver。 然而这段代码中存在一个问题。set_driver和get_driver方法都是类方法它们都需要一个cls参数。但是在set_driver方法中你并没有使用这个cls参数。如果你想在set_driver中使用cls参数你可以像下面这样修改代码 下面我们写两条用例登陆,用户中心我们先写登陆python rom public.pages.BasePage import BasePage #导入BasePage 基类导入后我们在类中继承 from selenium import webdriver from public.utiles.read_ini import read #导入read对象 import unittest from public.pages.Pages_Element impor Pages_Element as purl read.read_data_ini(test_data,url) username read.read_data_ini(test_data,username) pwd read.read_data_ini(test_data,pwd)class Test_login(BasePage): #定义一个登陆的类我们要继承basepage 要导包因为BasePage引入了unttest类 也就是爷爷类classmethoddef setUpClass(cls) - None: #类的开始driver webdriver.Chrome() #创建一个唯一的driver只能打开一次我们保证后面的都引用同一个对象类是可以传递的BasePage.set_driver(driver) #我们继承的 BasePage,dirver当一个变量来传递后面通过调用ge——driverclassmethoddef tearDownClass(cls) - None:每次跑完用例等待3秒BasePage.sleep(3)def test_01_login(self):#1.拿到driver对象driver BasePage.get_driver()driver.get(url)driver.maximize_window()driver.implicitly_wait(20)#2.输入用户名elem BasePage.find_element(p.userName)BasePage.sendKeys(elem,username)#3.输入密码elem BasePage.find_element(p.passWord)BasePage.sendKeys(elem,pwd)#4.点击登陆elem BasePage.find_element(p.loginBtn)BasePage.click(elem)#5.断言value BasePage.get_text(p.desktop)assert value我的桌面if __name__ __main__:unittest.main()注意cls类方法 self 实例方法
http://www.w-s-a.com/news/457917/

相关文章:

  • 流水线 东莞网站建设如何在网上销售产品
  • 哪些做图片赚钱的网站网站建设销售业绩任务
  • 建立网站 知乎如何做网站的图片滑动块
  • 国外做珠宝的网站有哪些滨湖区建设局官方网站
  • 关于中国幼教网站开发的经验中国建设银行晋中分行网站
  • 挪威网站后缀如何外贸网络推广
  • 外汇交易网站开发仟亿家设计软件好吗亿家
  • 专门教做甜品的网站郑州高新区建设环保局网站
  • 建站公司怎么获客网站建设全网营销
  • 黄石做网站的公司html免费网站模板
  • 做个商城网站怎么做便宜优酷视频网站源码
  • 网站侧边栏导航代码泰兴市住房和建设局网站
  • html网站登录界面模板确定建设电子商务网站目的
  • wordpress 多站点迁移三台网站seo
  • 工信部网站备案文件好网站建设公司地址
  • 怎么做app和网站购物网站单页面怎么做的
  • 西宁专业做网站教育网站建设策划书
  • 个人网站域名怎么起网站建设业务好跑吗
  • 网页设计的网网页设计的网站企业网站怎样做优化
  • 论文中小企业的网站建设域名网站空间
  • 宿迁网站建设联系电话现在出入邯郸最新规定
  • 男女做羞羞的事情网站30岁转行做网站编辑
  • 做企业网站的轻量级cmswordpress 越来越慢
  • 无锡中英文网站建设莱芜网络公司
  • ps软件下载官方网站相关搜索优化软件
  • 世界杯网站源码下载做网站推广代理
  • 用股票代码做网站的wordpress通过标签调用文章
  • iis添加网站ip地址树莓派运行wordpress
  • 网站空间域名多少钱宿迁做网站公司
  • 福州建设企业网站网站交互主要做什么的