我有这个登录页面输入用户名密码,然后点击登录按钮(这是我的代码):
def enter_username(self):
# Click on Email field
self.find_element(*self.locator.email_field).click()
# Clear Email field
self.find_element(*self.locator.email_field).clear()
# Tape Email
self.find_element(*self.locator.email_field).send_keys(user1_email)
def enter_password(self):
# Click on Password field
self.find_element(*self.locator.password_field).click()
# Clear Password field
self.find_element(*self.locator.password_field).clear()
# Tape Password
self.find_element(*self.locator.password_field).send_keys(user1_password)
def click_login(self):
# Click on the user menu
self.find_element(*self.locator.login_button).click()
我使用这个locators类包含ID:
class LoginPageLocators(object):
email_field = (By.XPATH,'//*[@id="sCourriel"]')
password_field = (By.XPATH,'//*[@id="sPassword"]')
login_button = (By.NAME,'loginBTN')
我使用这个基本页面:
class Page(object):
def __init__(self, driver, base_url=uat_qa_url):
self.base_url = base_url
self.driver = driver
self.timeout = 30
def find_element(self, *locator):
return self.driver.find_element(*locator)
def open(self, url):
url = self.base_url + url
self.driver.get(url)
def get_title(self):
return self.driver.title
def get_url(self):
return self.driver.current_url
def hover(self, *locator):
element = self.find_element(*locator)
hover = ActionChains(self.driver).move_to_element(element)
hover.perform()
我的测试用例:
def test_consultation_CCI_WBA_001(self):
loginPage = LoginPage.Loginpage(self.driver)
consultationPage = ConsultationsPage.Consultationspage(self.driver)
homePage = HomePage.Homepage(self.driver)
# Test case CCI_WBA_001 (Créer une consultation avec les informations nécessaires)
# Login ass admin
loginPage.enter_username()
time.sleep(5)
loginPage.enter_password()
time.sleep(5)
loginPage.click_login()
time.sleep(5)
我的问题是:我怎样才能消除时间。睡眠或者如何使用wait for element present? 谢谢
你有两个选择。你知道吗
1)隐式等待:当您有以下代码行时,它将确保驱动程序为元素等待指定的时间。你知道吗
2)显式等待:您可以使用下面的命令等待元素显式出现。你知道吗
需要导入:
代码:
相关问题 更多 >
编程相关推荐