Commit 9517f87a by Administrator

2.7提交

parent d279c021
from selenium.webdriver.support.select import Select
from selenium.webdriver.support.wait import WebDriverWait
from Util.Util import DriverUtils
# from common.utils import DriverTools
class BasePage:
def __init__(self):
self.driver = DriverUtils.get_web_driver()
# 查找元素
def find_el(self, loc, time=10, fre=0.5):
ele = WebDriverWait(self.driver, time, fre).until(lambda x: x.find_element(*loc))
return ele
# 输入文本内容
def input_text(self, loc, value):
# 定义该元素对于的文本
ele = self.find_el(loc)
# 先清空
ele.clear()
# 再输入
ele.send_keys(value)
# 滚动条
def scroll(self, x, y):
# 横着滚动调整x值,竖着滚动调整y值
js = "window,scroll({},{})".format(x, y)
self.driver.execute_script(js)
# 下拉框选择
def select_text(self, loc, text):
# 定位该下拉框对应的元素
ele = self.find_el(loc)
# 实例化Select对象
sle = Select(ele)
# 调用select选择方法
sle.select_by_visible_text(text)
import time
from selenium import webdriver
from selenium.webdriver.common.by import By
driver = webdriver.Chrome()
driver.get("https://rays7.raysgo.com/login")
class LoginPage:
def login_username(self,username=None,password=None):
driver.find_element(By.XPATH, "//*[@id='userName']").send_keys(username)
driver.find_element(By.XPATH, "//*[@id='pwd']").send_keys(password)
driver.find_element(By.XPATH,
"//*[@id='App']/div/div/div[1]/div[3]/div/div/div[3]/form/div[4]/div/div/div/div/button").click()
time.sleep(10)
import time
from selenium import webdriver
from selenium.webdriver.common.by import By
"""
首页
"""
class HomePage:
def createBook(self):
# 点击创建书刊
driver.find_element(By.XPATH,"//*[@id='App']/div/div/div[2]/ul/li[2]/ul/li[1]").click()
import time
from selenium.webdriver.common.by import By
from BasePage.BasePage import BasePage
from Util.Util import DriverUtils
"""
登录页
"""
class LoginPage(BasePage):
def __init__(self):
super().__init__()
self.password = (By.XPATH, '//*[@id="pwd"]')
self.username = (By.XPATH,'//*[@id="userName"]')
self.login_click = (By.XPATH,'//*[@id="App"]/div/div/div[1]/div[3]/div/div/div[3]/form/div[4]/div/div/div/div/button')
def login_username(self,username=None,password=None):
self.input_text(self.username,username)
self.input_text(self.password,password)
self.find_el(self.login_click).click()
# driver.find_element(By.XPATH, "//*[@id='App']/div/div/div[1]/span").click()
# driver.find_element(By.XPATH, "//*[@id='App']/div/div/div[2]/ul/li[2]/ul/li[1]").click()
time.sleep(10)
if __name__ == '__main__':
driver = DriverUtils.get_web_driver()
driver.get('https://rays7.raysgo.com/login')
time.sleep(3)
LoginPage().login_username("17373027967","3149390154Li")
time.sleep(5)
import pytest
from BasePage.login_page import LoginPage
# @pytest.fixture(scope="function",autouse=True)
# def fixture_test():
# """前后置处理"""
# # print('----测试开始----')
# # yield
# # print('----测试结束----')
# return "结束"
from Pages.login_page import LoginPage
from Util.Util import DriverUtils
class Test_Login(LoginPage):
# 前后置条件
@pytest.fixture
class TestLogin:
@pytest.fixture()
def setup(self):
print("\nSetup - Before Test")
# 可以在这里进行一些初始化工作
# 进行一些初始化工作
self.driver = DriverUtils.get_web_driver()
self.driver.get('https://rays7.raysgo.com/login')
self.login_page = LoginPage()
# 如果有返回值,测试函数可以使用这个返回值
yield "Setup data"
# 后置条件 - 在测试运行后执行
print("\nTeardown - After Test")
# 可以在这里进行一些清理工作
def test_case01(self,setup):
LoginPage.login_username(self,username="17373027967",password="3149390154Li")
# 进行一些清理工作
@pytest.mark.run
def test_case01(self, setup):
self.login_page.login_username(username="17373027967", password="3149390154Li")
"""
加载驱动工具类
"""
from selenium import webdriver
class DriverUtils:
__driver = None
# 初始化web
@classmethod
def get_web_driver(cls):
if cls.__driver is None:
cls.__driver = webdriver.Chrome()
cls.__driver.maximize_window()
cls.__driver.implicitly_wait(10)
return cls.__driver
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment