【精选】web自动化测试常用操作&封装 您所在的位置:网站首页 封装的功能有哪些 【精选】web自动化测试常用操作&封装

【精选】web自动化测试常用操作&封装

2023-11-13 18:31| 来源: 网络整理| 查看: 265

       web自动化测试,其实就是通过代码,模拟手工测试,进行的常规操作,从而达到解放劳动力、提高效率、节省成本,那么当我们用例多了,进行的操作多了,有什么办法可以提高效率呢,接下来就介绍下web的一些常用封装和操作。

一、前置条件

        基于pytest测试框架的特性,前置条件可以怎么设置呢?我们可以通过把前置条件的部分代码,放置在一个叫 conftest.py 的文件中,如下:

from pages.pages_02_login import LoginPage from selenium import webdriver import pytest # 启动浏览器的前置条件 @pytest.fixture() def get_driver(): driver = webdriver.Chrome() driver.implicitly_wait(10) driver.maximize_window() yield driver driver.quit() # 登录的前置条件 @pytest.fixture() def teacher_login(): driver = webdriver.Chrome() driver.implicitly_wait(10) driver.maximize_window() driver.get('https://xxxxxx.html') login_page = LoginPage(driver) login_page.login('lx@com','123456') yield driver driver.quit()

我们每次调用前置条件时,直接传入夹具函数名即可;

class TestCreatCourse: # 调用login的前置条件 def test_close_creat_course(self,teacher_login): driver = teacher_login create_course = Create_classPage(driver) create_course.loading().click_add_or_create_class().click_create_class().click_close() #点击创建/加入课程,点击创建课程 avatar_elem = create_course.find_element(create_course.actovar_locator) try: time.sleep(1) assert avatar_elem.get_attribute('title') == 'xxx' except AssertionError as e: logger.error('测试用例不通过'.format(e)) raise e class TestLogin: # 调用get_driver的前置条件 def test_without_username_and_password(self,get_driver): driver = get_driver login_pages = LoginPage(driver) login_pages.loading().login('','') try: actual = ['账号不能为空','密码不能为空'] assert login_pages.get_error_msgs() == actual except AssertionError as e: login_pages.screenshot() logger.error('测试用例不通过:{}'.format(e)) raise e 另外:自动化测试优化流程 1、启动浏览器,条件反射天骄一隐形等待 ==> driver.implicity_wait(10) 2、最大化窗口, ==> driver.maximize_window() 3、PO模式:(下面详细描述) - 把每一页的操作都封装成方法,(如登录、点击、获取文本等操作) - 页面 url 优化成属性(url、__init__中的driver) - 尽量让方法的返回值,返回一个pageobject对象,可为self,,也可为其他对象,(方便链式调用) 二、PO模式 == PO模式:(Page Object Model)PMO 把一个页面转化为对象,然后可通过调用,直接执行操作: page.login() ==>


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有