WEB自动化(1)环境安装及打开浏览器实例
WEB自动化(2)常用的元素定位方法之xpath详解
WEB自动化(3)PO设计模式原理与实现
WEB自动化(4)使用selenium将网站验证码截图保存为本地图片
WEB自动化(5)获取网站验证码即从验证码截图中获取图片中的字符串
WEB自动化(6)WEB自动化及脚本在Linux系统上正常运行一段时间后报session not created from tab crashed 的错误的解决办法
1、PO设计模式原理简介
- PO:Page Object,即页面对象化
- 原理:将要测试项目的所有页面对象化,然后在类里面提供方法
- 每个用例需要保持独立,即前一个用例失败了,不影响后一个用例的执行
2、将百度搜索页面的代码使用PO设计模式重构
代码如下,注意,这里面在sleep(10) 只是为了更好的观察,实际不需要使用
from selenium import webdriver
class Baidu(object):
def __init__(self):
self.driver = webdriver.Chrome()
def search(self,value):
self.driver.get(url="https://www.baidu.com/")
self.driver.find_element_by_xpath('//*[@id="kw"]').send_keys(value)
self.driver.find_element_by_xpath('//*[@id="su"]').click()
def close(self):
self.driver.close()
if __name__=="__main__":
import time
baidu=Baidu()
baidu.search("python")
time.sleep(10)
baidu.search("Java")
time.sleep(10)
baidu.search("CC++")
time.sleep(10)
baidu.close()
执行结果如下,可以看到上述代码如果类封装好了,那么用例写起来还是非常简单的