线上环境怎么做UI自动化呢?

线上环境怎么做UI自动化呢?,第1张

作为一个测试人员,我们日常做的比较多的就是针对测试环境和预发环境做测试,但是真实的环境怎么做测试呢?因为很多线上的环境,账号登陆遇到的第一关就是验证码问题哦,我们可以先手动登陆,然后获取cookie 保存本地文件中,然后再读取文件执行就可以了哦!

获取cookie 文件的脚本如下:

import json
import time

from selenium import webdriver
from selenium.webdriver.common.keys import Keys

driver = webdriver.Chrome()
chromeOptions = webdriver.ChromeOptions()
#让浏览器不显示自动化测试
chromeOptions.add_argument('disable-infobars')
driver.get("https://www.lanqiao.cn/questions/")
driver.maximize_window()
driver.find_element_by_xpath('//*[@id="main-nav-collapse"]/ul[2]/li[2]/a/span').click()
driver.switch_to.frame(driver.find_element_by_id('layui-layer-iframe1'))
# 强制等待时间5s ,在这段时间扫码或者输入验证码登陆
time.sleep(5)


print("账号登录成功")
print('切换网页')
driver.switch_to.window(driver.window_handles[-1])
driver.implicitly_wait(5)
time.sleep(5)
cookies = driver.get_cookies()
jsonCookies = json.dumps(cookies)
with open('shiyanlou_cookies.json', 'w') as f:
    f.write(jsonCookies)
driver.refresh()
driver.quit()


  读取cookie 的脚本

  

import json
import time

from selenium import webdriver

driver = webdriver.Chrome()
chromeOptions = webdriver.ChromeOptions()
#让浏览器不显示自动化测试
chromeOptions.add_argument('disable-infobars')
driver.get("https://www.lanqiao.cn/questions/")

# 首先清除由于浏览器打开已有的cookies
driver.delete_all_cookies()
with open('shiyanlou_cookies.json', 'r') as f:
    # 使用json读取cookies 注意读取的是文件 所以用load而不是loads
    cookies_list = json.load(f)
    for cookie in cookies_list:
        driver.add_cookie(cookie)
time.sleep(2)
driver.refresh()
time.sleep(2)
driver.refresh()

# driver.find_element_by_xpath('check-text').click()
# 签到
driver.find_element_by_class_name('check-text').click()
driver.save_screenshot('签到打卡成功.png')

driver.quit()

   一些小的知识点,喜欢的点赞评论哦,互相讨论一下! + 

 

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/579178.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-11
下一篇 2022-04-11

发表评论

登录后才能评论

评论列表(0条)

保存