[英]Trying to use Selenium 2 with Python bindings, but I'm getting an import error
[英]Python Selenium - I'm trying to use pytest framework , running into errors
from selenium import webdriver
from selenium.webdriver.common.by import By
from commonPages.LoginPage import LoginPage
from util.InitialSetUp import InitSetup
i = InitSetup()
chrome_options = i.close_popup()
driver = webdriver.Chrome(chrome_options=chrome_options)
log = LoginPage(driver)
log.nav_login_page()
class Test_Home_Page:
def test_logo_exists(self):
logo = driver.find_element(By.CLASS_NAME, 'logo')
assert logo
def test_user_profile_section_exists(self):
user_profile_section = driver.find_element(By.CLASS_NAME, 'user-name')
assert user_profile_section
def test_user_profile_link_click_opens_dropdown(self):
user_profile_link = driver.find_element(By.CLASS_NAME, 'user-dropdown-button')
user_profile_link.click()
user_profile_menu_item = driver.find_element(By.CLASS_NAME, 'user-profile-menu-item')
assert user_profile_menu_item
driver.close()
当运行上述程序时,该程序在功能2启动时失败: def test_user_profile_section_exists(self):
它抛出一个错误:
self = <selenium.webdriver.remote.errorhandler.ErrorHandler object at 0x03AB28D0> response = {'sessionId': '57da643e085012ed03d18a284c063c24', 'status': 7, 'value': {'message': 'no such element: Unable to locate...r info: chromedriver=2.29.461591 (62ebf098771772160f391d75e589dc567915b233),platform=Windows NT 6.1.7601 SP1 x86_64)'}}
当程序中只有一个功能时,它可以完美执行。
您收到此错误的原因是该类元素确实不存在或不可见。 同样, driver.find_element(By.CLASS_NAME, 'user-name')
不是布尔类型,因此您不能直接在其上使用assert
。
您可以使用以下方法对所有测试进行测试验证。
def test_user_profile_section_exists(self):
try:
driver.find_element(By.CLASS_NAME, 'user-name')
except NoSuchElementException:
assert False
assert True
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.