【问题标题】:Python - Assert a text field that should not exist in the pagePython - 断言页面中不应存在的文本字段
【发布时间】:2016-05-20 03:41:11
【问题描述】:

您好,我是使用 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: ''

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

【问题讨论】:

  • 请向我们展示更多代码和错误堆栈
  • 这里是完整的错误信息和测试用例。

标签: python selenium testing webdriver assert


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-06-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-27
    • 2011-02-18
    • 1970-01-01
    相关资源
    最近更新 更多