feat: 优化定位转换器调整框架结构

- 新增 finder.py 重构定位转换器
- 优化 .gitignore 文件
- 其他优化
This commit is contained in:
2026-01-25 17:24:04 +08:00
parent 92d06dd9cf
commit 5a50eb8289
15 changed files with 342 additions and 126 deletions

View File

@@ -11,7 +11,7 @@
"""
from time import sleep
from selenium.webdriver import Chrome
from selenium.webdriver import Chrome,Edge
from selenium.webdriver.common.by import By
from selenium.webdriver.remote.webdriver import WebDriver
from commons.modules import Browser
@@ -28,28 +28,28 @@ class LoginPage(KeyWordDriver):
password = '//*[@id="pass"]'
login_submit = '//*[@id="root"]/div[1]/div/div/form/div[3]/button'
# def __init__(self, browser: Browser):
# super().__init__(browser)
def __init__(self):
super().__init__()
def __init__(self,driver: WebDriver | None = None):
super().__init__(driver)
def login(self, email, password):
self.browser(Browser.EDGE)
# self.base_url("http://119.91.19.171:40065")
self.get(self.url)
self.input(1, self.email, email)
self.input(By.XPATH, self.password, password)
text = self.get_text(By.XPATH, self.email_title)
print(text)
self.click(By.XPATH, self.login_submit)
sleep(10)
# sleep(10)
# input()
if __name__ == '__main__':
from commons.settings import configs
# _driver =Edge()
_email = configs.username
_password = configs.password
login = LoginPage()
# login.browser(Browser.EDGE)
login.base_url(configs.base_url)
login.login(_email, _password)

View File

@@ -1,39 +0,0 @@
#!/usr/bin/env python
# coding=utf-8
"""
@author: CNWei
@Software: PyCharm
@contact: t6i888@163.com
@file: main
@date: 2025/4/4 17:52
@desc:
"""
from time import sleep
import pytest
from selenium.webdriver import Chrome
from login_page import LoginPage
from commons.modules import Browser
@pytest.mark.parametrize("email, password", [("username", "password"), ("<EMAIL>", "<PASSWORD>")])
def test_login(driver, email, password):
login = LoginPage()
login.login(email, password)
# sleep(10)
def test_logout_1(login_ok):
login = LoginPage()
login.browser(Browser.CHROME)
login.get("https://www.baidu.com/")
print("logout")
# @pytest.mark.usefixtures("login_ok")
def test_logout_2():
login = LoginPage()
login.browser(Browser.CHROME)
login.get("https://www.baidu.com/")
print("logout")

View File

@@ -10,12 +10,12 @@
@desc:
"""
import pytest
from selenium.webdriver import Chrome
from selenium.webdriver import Chrome,Edge
@pytest.fixture()
def driver():
_driver = Chrome()
_driver = Edge()
yield _driver
_driver.quit()

40
POM/tests/test_login.py Normal file
View File

@@ -0,0 +1,40 @@
#!/usr/bin/env python
# coding=utf-8
"""
@author: CNWei
@Software: PyCharm
@contact: t6i888@163.com
@file: main
@date: 2025/4/4 17:52
@desc:
"""
from time import sleep
import pytest
from selenium.webdriver import Chrome
from POM.page.login_page import LoginPage
from commons.modules import Browser
@pytest.mark.parametrize("email, password", [("ltcs@ltcs.com", "ltcs2024")])
def test_login(driver, email, password):
login = LoginPage(driver)
login.login(email, password)
# sleep(10)
def test_logout_1(driver):
login = LoginPage(driver)
# login.browser(Browser.CHROME)
login.get("/questions/10010000000000002")
print("logout")
sleep(10)
#
#
# # @pytest.mark.usefixtures("login_ok")
# def test_logout_2():
# login = LoginPage()
# login.browser(Browser.CHROME)
# login.get("https://www.baidu.com/")
# print("logout")