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

钓鱼转转网站在线生成买域名要多少钱一个

钓鱼转转网站在线生成,买域名要多少钱一个,做公众号时图片的网站,青浦苏州网站建设playwright解决重复登录问题,通过pytest夹具自动读取storage_state用户状态信息 conftest.py文件下封装两个夹具夹具一:将storage_state登录状态导出为json文件夹具二:重写夹具browser_context_args,添加storage_state登录状态登录…

playwright解决重复登录问题,通过pytest夹具自动读取storage_state用户状态信息

  • conftest.py文件下封装两个夹具
    • 夹具一:将storage_state登录状态导出为json文件
    • 夹具二:重写夹具`browser_context_args`,添加`storage_state`登录状态
    • 登录LoginPage对象
      • 演示示例:test_ry_login.py

conftest.py文件下封装两个夹具

夹具一:将storage_state登录状态导出为json文件

  • 开启夹具自动调用 autouse=True
  • browser夹具,来源于pytest-playwright包封装的夹具,替代该代码browser = playwright.chromium.launch()
  • base_url夹具,来源于pytest-base-url包封装好的夹具,用于在pytest.ini设置全局的base_url。
  • pytestconfig夹具,来源于pytest包,用于处理pytest.ini配置文件
@pytest.fixture(scope='session', autouse=True)
def login(browser, base_url, pytestconfig):"""封装统一的登录夹具,配置免登录:param browser: 插件pytest-playwright封装好的夹具:param base_url: 插件pytest-base-url插件,封装好的夹具,获取pytest.ini文件中的base_url=:param pytestconfig: pytest提供的夹具,用于获取pytest.ini配置文件:return:"""context = browser.new_context(base_url=base_url)page = context.new_page()login = LoginPage(page)# 用户名和密码login.login_flow('test_0001', 'admin123')# pytestconfig.rootpath : 输出项目根目录,路径根据pytest.ini配置文件,定位项目目录context.storage_state(path=pytestconfig.rootpath.joinpath('auth').joinpath('ry_cookie.json'))page.close()context.close()

夹具二:重写夹具browser_context_args,添加storage_state登录状态

  • browser_context_args:来源于pytest-playwright包。
@pytest.fixture(scope='session', autouse=True)
def browser_context_args(browser_context_args, pytestconfig):"""重写browser_context_args方法,添加cookie用户状态信息:param browser_context_args: pytest-playwright插件中封装的方法:param pytestconfig: pytest封装的方法:return:"""return {**browser_context_args, 'storage_state': pytestconfig.rootpath.joinpath('auth').joinpath('ry_cookie.json')}

登录LoginPage对象

from playwright.sync_api import Pageclass LoginPage:def __init__(self, page: Page):self.page = page# 使用xpath语法获取用户名文本框self.locator_username = page.locator("//form[@id='signupForm']/input[@class='form-control uname']")# 密码框self.locator_password = page.locator("//form[@id='signupForm']/input[@class='form-control pword']")# 登录按钮self.login_button = page.locator("//button[@id='btnSubmit']")# 必填提示self.username_tips = page.locator("//label[@id='username-error']")self.password_tips = page.locator("//label[@id='password-error']")self.login_error_tips = page.get_by_text("用户不存在/密码错误")self.login_error_tips2 = page.locator("text=用户不存在/密码错误")self.login_error_tips3 = page.locator("//div[@class='layui-layer-content']")self.navigate()def navigate(self):self.page.goto('/login')def fill_username(self, username):# 必须先点一下才能获取到self.locator_username.click()self.locator_username.fill(username)def fill_password(self, password):self.locator_password.click()self.locator_password.fill(password)def click_login(self):self.login_button.click()def login_flow(self, username, password):self.navigate()# 定位用户名self.fill_username(username)# 定位密码self.fill_password(password)# 点击登录按钮self.click_login()# 等待页面跳转,作为登录成功的标准,等待下个页面加载完成self.page.wait_for_url(url='/index')def clean_username_password(self):self.fill_password('')self.fill_username('')

演示示例:test_ry_login.py

  • 切记:设置login_page夹具,只能设置为function级别。保持默认即可。
@pytest.fixture()
def login_page(page):yield LoginPage(page)def test_login_success(login_page):"""断言:登录成功断言title和url:param login_page::return:"""login_page.login_flow('admin', 'admin123')expect(login_page.page).to_have_title(re.compile('首页'))expect(login_page.page).to_have_url('/index')
http://www.dtcms.com/wzjs/203984.html

相关文章:

  • 网站规划步骤线上推广工作内容
  • 网站里的做菠菜一个新手怎么做电商
  • 网站建设过时了吗全网营销式网站
  • 滨海网站建设找哪家好做一个自己的网站
  • 第一次找人做网站简述获得友情链接的途径
  • 咸阳市建设局网站网络软文怎么写
  • 临沧市网站建设数字营销课程
  • 网站ftp用户名和密码沈阳今日新闻头条
  • 网站的客服怎么做会计培训班推荐
  • 小型企业网站设计教程深圳网络营销全网推广
  • 家装公司名字优化师助理
  • 做网站需要买网址吗360安全浏览器
  • wordpress子目录 多站点卖友情链接赚钱
  • 开个网络公司要多少钱湖南关键词优化排名推广
  • 深圳外贸英文网站设计联系电话百度网络营销中心
  • 做商城网站需要办理什么网络推广都有什么方式
  • 企业网站开发需要多钱东营网站建设费用
  • 网站制作怎么自己做百度竞价排名正确解释
  • 安陆网站建设推广普通话手抄报内容
  • 手机商城建站系统网站建设企业网络规划设计方案
  • 如何做电商网站 昆明电商网站设计论文
  • 大学网站群建设方案百度宣传推广
  • 小说网站如何做书源注册推广赚钱一个40元
  • 投资建设项目管理师报名网站长沙网站优化培训
  • wordpress手机版论坛网页优化方法
  • 做新得网站可以换到原来得域名嘛网络推广都是收费
  • 西安的网站制作公司建一个网站大概需要多少钱
  • 不备案的网站可以做竞价吗百度推广管家
  • 绍兴市网站建设今晚比分足球预测
  • 成都大型的做网站的公司腾讯云1元域名