Python - 断言页面中不应存在的文本字段

标签 python selenium testing webdriver assert

你好,我是使用 selenium webdriver 的新手,我正在尝试在 python 中使用 selenium webdriver 创建一个测试脚本,我正在尝试检查页面中是否不存在某个文本字段。

这是我创建的用于检查文本字段是空白还是空的代码:

driver = self.driver
    # Get page by URL
    driver.get(self.base_url + "/userk/mission/")
    # Get page by URL
    driver.get(self.base_url + "/mission/update/123-456-789/")
    self.assertEqual(self.base_url + "/mission/update/123-456-789/", driver.current_url)
    driver.find_element_by_id("discussion-btn").click()
    # Check if text is not present
    self.assertEqual("", driver.find_element_by_xpath("//div[5]/div"))

这是我在运行测试时收到的错误:

Traceback (most recent call last):
  File "acttemplate_layouts.py", line 37, in test_task_xml
    self.assertEqual("", driver.find_element_by_xpath("//div[5]/div"))
  File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/webdriver.py", line 290, in find_element_by_xpath
    return self.find_element(by=By.XPATH, value=xpath)
  File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/webdriver.py", line 744, in find_element
    {'using': by, 'value': value})['value']
  File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/webdriver.py", line 231, in execute
    response = self.command_executor.execute(driver_command, params)
  File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/remote_connection.py", line 395, in execute
    return self._request(command_info[0], url, body=data)
  File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/remote_connection.py", line 426, in _request
    resp = self._conn.getresponse()
  File "/usr/lib/python2.7/httplib.py", line 1051, in getresponse
    response.begin()
  File "/usr/lib/python2.7/httplib.py", line 415, in begin
    version, status, reason = self._read_status()
  File "/usr/lib/python2.7/httplib.py", line 379, in _read_status
    raise BadStatusLine(line)
BadStatusLine: ''

使用这个测试脚本给我一个错误。请帮助我使用正确的语法或方法。提前致谢。

最佳答案

在driver.find_element_by_xpath("//div[5]/div")后面添加.text

self.assertEqual("", driver.find_element_by_xpath("//div[5]/div").text)

关于Python - 断言页面中不应存在的文本字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37337566/

相关文章:

python - Django makemessages 决定评论已经存在的翻译

ruby - selenium-webdriver 的 launcher.rb

java - 在 Selenium 中执行操作时如何查看鼠标指针?

angular - Jasmine:Angular Typescript 项目中的 "Incomplete: No specs found"

ruby-on-rails-3 - 在测试环境中设置 default_url_options 似乎不起作用

selenium - 使用页面对象模式执行操作的多种方式

Python:Scrapy 蜘蛛不返回结果?

python - Django 按最频繁值排序

python - 无法单击下拉列表 Selenium 中的选项

java - 无法在 Selenium Java 中找到图像 xpath