复用浏览器、cookies、PageObject学习

复用浏览器

步骤
  1. 打开chrome-属性-找到安装路径,配置环境变量;
  2. 命令行输入:chrome --remote-debugging-port=9222,启动浏览器(注意,之前所有浏览器进程都需要关闭)
  3. 脚本中添加以下demo:
    def setup_method(self, method):
        options = Options()
        options.debugger_address = "127.0.0.1:9222"
        self.driver = webdriver.Chrome(options=options)
        self.driver.get("需要打开的网址")

Cookies

主要作用

绕过登录的操作,可以使用cookies或者复用浏览器

实现方法
self.driver.get_cookies() 获取当前页面的cookies
self.driver.add_cookie(cookie)  给当前页面注入cookie
注意:都需要提前打开页面
self.driver.refresh() 刷新页面
存储

shelve:内置模块,专门对数据进行持久化存储,相当于小型的数据库。

### 生成cookies的db文件
cookies = []
db = shelve.open("cookies")
db['cookie'] = cookies
db.close()     
self.driver.get("网址")
for cookie in cookies:
   self.driver.add_cookie(cookie)  # 注入cookies
self.driver.refresh()  # 刷新页面

### 使用生成的db文件
db = shelve.open("cookies")
cookies = db['cookie']
db.close() 
self.driver.get("网址")
for cookie in cookies:
   self.driver.add_cookie(cookie)  # 注入cookies
self.driver.refresh()  # 刷新页面

PageObject(PO)

将具体实现细节封装在函数中,对外只提供接口。实现细节与断言分开。对公共部分可以进行复用。

原则
  1. 公共方法,比如对页面上的点击、输入等可以封装为方法。
  2. 方法中不要添加断言。
  3. 不要暴露细节。
  4. 通过return返回其它页面。
  5. 不要封装整个页面,只对其常使用到的、重要内容进行封装。
  6. 相同的动作导致不同的结果,需对其封装不同的方法,例如登录成功与失败,应封装为2个方法。
使用范围

UI类的测试,对每个页面进行封装

对企业微信进行测试
  1. 首页:登录;注册
  2. 登录:扫码;注册;进入注册页
  3. 注册:注册信息

小技巧

格式化代码:ctrl+alt+l

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值