我正在尝试为硒创建框架,但坚持使用此驱动程序初始化。PLz帮助
这是将首次执行的Base.py文件。(这里我已编写函数来为浏览器提供午餐)
from selenium import webdriver
import configparser
from Utility import Read_Properties
global driver
class Base:
def Lunch_Browser(name):
if name == 'chrome':
driver = webdriver.Chrome(
executable_path='C:/Users/MANJKUM/PycharmProjects/Paintshop/Driver/chromedriver.exe')
driver.implicitly_wait(50)
driver.maximize_window()
driver.get(Read_Properties.readproperty('LOGINDETAIL', 'URL'))
return driver
elif (name == 'ff'):
driver = webdriver.firefox(
executable_path='C:/Users/MANJKUM/PycharmProjects/Paintshop/Driver/chromedriver.exe')
driver.implicitly_wait(50)
driver.maximize_window()
`enter code here`driver.get(Read_Properties.readproperty('LOGINDETAIL', 'URL'))
return driver
else:
print('No Browser')
在这里,我已经为登录页面的所有Web元素的ID和xpath编写了代码。 它像页面对象模型。 Login.py
from selenium import webdriver
from Utility import Read_Properties
from selenium.webdriver.common.by import By
from Base import Base
class login(object):
def __init__(self, driver):
self.driver = driver
self.username = driver.find_element(By.ID,'username')
self.password = driver.find_element(By.ID, 'password')
self.login_tbtn = driver.find_element('login-loginbutton')
def username(self):
return self.username
def password(self):
self.password.clear()
self.password.send_keys(Read_Properties.readproperty('LOGINDETAIL', 'PASSWORD'))
def login_btn(self):
return self.login_tbtn
以下代码用于test_login.py 在这里,我要为登录页面编写测试用例。
import time
from selenium import webdriver
from Base import Base
from POM_Project.Pages.Login import login
from Utility import Read_Properties
from POM_Project.Pages import Login
from Utility import Read_Properties
driver = webdriver.chrome
#obj_Base=Base()
obj_login=login(driver)
def test_Login():
Base.Base.Lunch_Browser('chrome')
time.sleep(20)
obj_login.username(driver)
obj_login.password(driver)
test_Login()
答案 0 :(得分:1)
您可以使用pytest框架。用夹具很容易实现您的方案。
您可以创建浏览器类,然后在该类构造函数中将驱动程序分配给self._。 您可以在需要Web驱动程序实例的任何地方使用浏览器类作为基类。