def input_func(self, loc, values): """输入方法""" el = self.find_element(loc) GetLog.get_log().info("清除{}元素方法".format(loc)) el.clear() GetLog.get_log().info("{}元素输入{}".format(loc, values)) el.send_keys(values)
def test_login(self, username, pwd, expect, succeed): """登录测试方法""" self.login.page_login(username, pwd) # 判断是否是正向 if succeed: try: msg = self.login.get_msg() print("获取的昵称为: ", msg) assert msg == expect except Exception as e: GetLog.get_log().info(e) # 截图 self.login.base_get_img() # 抛异常 raise finally: self.login.page_logout() self.login.page_go_to_login() else: try: toast = self.login.get_toast_msg(expect) print("获取的toast为: ", toast) assert toast == expect except Exception as e: GetLog.get_log().info(e) # 截图 self.login.base_get_img() # 抛异常 raise
def find_elements(self, loc, timeout=30, poll=0.2): """获取一组元素方法""" GetLog.get_log().info("查找元素: {} 持续时间: {} 查找频率: {}".format( loc, timeout, poll)) """定位元素方法加显示等待""" return WebDriverWait( self.driver, timeout=timeout, poll_frequency=poll).until(lambda x: x.find_elements(*loc))
import sys import os sys.path.append(os.getcwd()) from time import sleep import pytest from tool.get_log import GetLog from tool.read_yaml import read_yaml from page.page_in import PageIn from tool.get_driver import GetDriver log = GetLog.get_log() def get_data(): arrs = [] for data in read_yaml("add_order.yaml").values(): arrs.append(tuple(data.values())) return arrs class TestAddOrder: # 初始化 def setup_class(self): self.login = PageIn().page_get_page_login() # 点击同意协议并登陆 self.login.page_get_into_app() PageIn().page_get_page_login().page_add_skill()
"""股票详情估价检查""" import sys import os sys.path.append(os.getcwd()) import pytest from page.page_in import PageIn from tool.get_driver import GetDriver from tool.get_log import GetLog log = GetLog().get_log() class TestStockDetailPrice: def setup_class(self): # 获取PageUserCenter对象 self.page_user_center = PageIn.page_get_user_center() # 获取PageStockDetailPrice对象 self.page_stock_detail_price = PageIn.page_get_stock_detail_price() # 进入搜索页 self.page_stock_detail_price.page_click_search_index() def teardown_class(self): GetDriver.quit_driver() def teardown(self): # 返回搜索页 self.page_stock_detail_price.page_click_back_btn() @pytest.mark.parametrize("stock_code", ["000001", "000003", "000004"]) def test01_check_price(self, stock_code):
import pytest from api.api_mis import ApiMis from tool.get_log import GetLog from tool.read_yaml import read_yaml from tool.tool import Tool import api log = GetLog.get_logger() class TestMis: # 1. 初始化 def setup_class(self): # 获取ApiMis对象 self.mis = ApiMis() # 2. 登录 @pytest.mark.parametrize("account,password", read_yaml("mis_login.yaml")) def test01_mis_login(self, account, password): # 1. 调用登录接口 r = self.mis.api_mis_login(account, password) # 2. 提取token Tool.common_token(r) print("后台管理系统登录后,请求headers为:", api.headers) try: # 3. 断言 Tool.common_assert(r) except Exception as e: # 1. 日志 log.error(e) # 2. 抛异常
def get_toast_msg(self, msg): """获取toast消息""" GetLog.get_log().info("获取{}昵称: ".format(msg)) loc = By.XPATH, "//*[contains(@text,'{}')]".format(msg) return self.find_element(loc, timeout=3, poll=0.1).text
def get_text(self, loc): """获取昵称方法""" GetLog.get_log().info("获取{}昵称: ".format(loc)) return self.find_element(loc).text
def __init__(self): """初始化driver对象""" self.driver = GetDriver.get_driver() GetLog.get_log().info("初始化driver对象: {}".format(self.driver))
def setup_class(self): self.driver = GetDriver.get_driver() self.log=GetLog.get_loggin() self.page_tpshop=PageLogin(self.driver)