[英]pycharm- python with selenium web driver. Get error object has no attribute driver
我正在嘗試使用 selenium web 驅動程序在 python 上的 tesco 網站上運行基本自動化,使用 Z4149CE0EE30A909A183F622C。 我能夠創建 1 個 function 並在其中包含所有內容並且可以正常工作。 但是,當我將其全部拆分為不同的功能時,我會在以下位置收到以下錯誤消息:
driver = self.driver
AttributeError:“FirstTest”object 沒有屬性“驅動程序”
到目前為止我的代碼:
import unittest
from selenium import webdriver
class FirstTest(unittest.TestCase):
def test_setUp(self):
self.driver = webdriver.Chrome()
self.driver.maximize_window()
self.driver.get("http://tesco.com")
self.tearDown()
def test_websiteCheck(self):
driver = self.driver
assert "Tesco - Supermarkets | Online Groceries, Clubcard & Recipes" in driver.title
self.tearDown()
def test_loginPage(self):
driver = self.driver
signIn = self.driver.find_element_by_link_text("Sign in")
signIn.click()
username = self.driver.find_element_by_name("username")
username.send_keys("test1234@hotmail.com")
password = self.driver.find_element_by_name("password")
password.send_keys("test")
self.driver.find_element_by_xpath("/html/body/div/div/div[2]/div/div/div/div[2]/div/form/button").click()
def test_pickingGroceries(self):
self.driver = self.driver
self.driver.find_element_by_xpath("/html/body/div[1]/div/nav/div[1]/ul/li[1]/div/div[1]/a").click()
self.driver.find_element_by_xpath("/html/body/div[1]/div/nav/div[1]/ul/li[1]/div/div[1]/div/div[2]/div[1]/ul/li[2]/a/h3/span").click()
關於我做錯了什么的任何想法?
您是否先致電test_SetUp(self)
?
您應該創建一個def __init__(self):
function 而不是在創建 class 的 object 實例時運行
you are not calling test_SetUp function anywhere and not returning anything from test_SetUp function.My suggestion would be use init function instead of test_SetUp.Then in other functions you are creating driver=self.driver, so use driver.functions instead of self.driver again .
from selenium import webdriver
import unittest
class FirstTest(unittest.TestCase):
def __init__(self):
self.driver = webdriver.Chrome()
self.driver.maximize_window()
self.driver.get("http://tesco.com")
self.tearDown()
def test_websiteCheck(self):
driver = self.driver
assert "Tesco - Supermarkets | Online Groceries, Clubcard & Recipes" in
driver.title
self.tearDown()
def test_loginPage(self):
driver = self.driver
signIn = driver.find_element_by_link_text("Sign in")
signIn.click()
username = driver.find_element_by_name("username")
username.send_keys("test1234@hotmail.com")
password = driver.find_element_by_name("password")
password.send_keys("test")
def test_pickingGroceries(self):
driver = self.driver
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.