【发布时间】:2019-08-11 18:35:38
【问题描述】:
我完全有(字符,间距缩进)教师在 Udemy 教程中的内容。他的测试运行良好,但我的测试出现错误。请在下面查看。谢谢!
import unittest
from selenium import webdriver
class MyTestCase(unittest.TestCase):
def setup(self):
self.driver = webdriver.Chrome(executable_path="../Drivers/chromedriver.exe")
self.driver.implicitly_wait(10)
self.driver.maximize_window()
def test_search(self):
self.driver.get("http://www.google.com")
self.driver.find_element_by_name("q").send_keys("Automation step by step")
self.driver.find_element_by_name("btnk").click()
x = self.driver.title
print(x)
self.assertEqual(x, "Automation step by step")
def tearDown(self):
self.driver.close()
self.driver.quit()
错误 回溯(最近一次通话最后): 运行中的文件“C:\Python27\Lib\unittest\case.py”,第 329 行 测试方法()
文件“C:\Users\S-Iran\PycharmProjects\Demo\Demo_1\utest1.py”,第 15 行,在 test_search self.driver.find_element_by_name("btnk").click()
文件“C:\Users\S-Iran\PycharmProjects\Demo\venv\lib\site-packages\selenium\webdriver\remote\webdriver.py”,第 496 行,在 find_element_by_name 中 return self.find_element(by=By.NAME, value=name)
文件“C:\Users\S-Iran\PycharmProjects\Demo\venv\lib\site-packages\selenium\webdriver\remote\webdriver.py”,第 978 行,在 find_element '值': 值})['值']
文件“C:\Users\S-Iran\PycharmProjects\Demo\venv\lib\site-packages\selenium\webdriver\remote\webdriver.py”,第 321 行,在执行中 self.error_handler.check_response(response)
文件“C:\Users\S-Iran\PycharmProjects\Demo\venv\lib\site-packages\selenium\webdriver\remote\errorhandler.py”,第 242 行,在 check_response raise exception_class(message, screen, stacktrace)
NoSuchElementException: 消息:没有这样的元素:无法找到元素:{"method":"name","selector":"btnk"} (会话信息:chrome=72.0.3626.121) (驱动信息:chromedriver=2.45.615291 (ec3682e3c9061c10f26ea9e5cdcf3c53f3f74387),platform=Windows NT 10.0.17134 x86_64)
【问题讨论】:
-
你的“setup”函数应该被称为“setUp”以便首先被调用
-
非常感谢!您是否从错误中注意到了这一点?或者只是阅读方法?现在我有不同的错误。我检查了谷歌上的元素,它们仍然有正确的名称,所以我不确定为什么找不到它们。 NoSuchElementException:消息:没有这样的元素:无法找到元素:{“method”:“name”,“selector”:“btnk”}
-
请更新您的问题
-
问题已更新。
-
在您的 html 中没有名为“btnk”的元素,它非常简单
标签: python unit-testing selenium attributeerror