【问题标题】:Selenium Testing - Test if Clicking Button Opens Correct ItemsSelenium 测试 - 测试单击按钮是否打开正确的项目
【发布时间】:2018-12-15 19:18:03
【问题描述】:

我的页面上有两个按钮,一个用于查看 pdf(在新选项卡中打开),一个用于下载 pdf(通过添加附件标题直接下载。

这是我目前的测试代码:

def test_study_popover_view_clicked(self):
    cls.selenium_chrome.get('https://www.shenkan-associates.com/')

    try:
        target_element_chrome = cls.selenium_chrome.find_element_by_id('study-item-7')
        target_element_chrome.click()
        popover_element_chrome = cls.selenium_chrome.find_element_by_class_name('popover')
        popover_view_button_element_chrome = cls.selenium_chrome.findElement(By.cssSelector('.popover > .popover-content > .popover-actions > .study-view'))
    except NoSuchElementException as ex:
        self.fail(ex.msg)

    nt.assert_true(popover_element_chrome.is_displayed())
    nt.assert_true(popover_view_button_element_chrome.is_displayed())
    nt.assert_equal(popover_view_button_element_chrome.text, 'View')

    popover_view_button_element_chrome.click()

def test_study_popover_download_clicked(self):
    cls.selenium_chrome.get('https://www.shenkan-associates.com/')

    try:
        target_element_chrome = cls.selenium_chrome.find_element_by_id('study-item-7')
        target_element_chrome.click()
        popover_element_chrome = cls.selenium_chrome.find_element_by_class_name('popover')
        popover_download_button_element_chrome = cls.selenium_chrome.findElement(By.cssSelector('.popover > .popover-content > .popover-actions > .study-download'))
    except NoSuchElementException as ex:
        self.fail(ex.msg)

    nt.assert_true(popover_element_chrome.is_displayed())
    nt.assert_true(popover_download_button_element_chrome.is_displayed())
    nt.assert_equal(popover_download_button_element_chrome.text, 'Download')

    popover_download_button_element_chrome.click()

如您所见,我单击了下载和查看按钮元素。在每个方法的最后。单击视图应在单独的选项卡中打开 pdf。点击下载应该开始直接下载pdf。

我只需要一种方法来测试按钮是否在做它们应该做的事情。

我该如何测试?

谢谢

【问题讨论】:

  • 你到底卡在哪里了?
  • 卡在点击查看和下载按钮时如何检查 pdf 是否在新标签页/下载中打开

标签: python django selenium testing selenium-webdriver


【解决方案1】:

为了测试下载按钮,您可以在点击下载按钮前后检查下载文件夹中的文件数。

【讨论】:

  • 那只能在我的个人机器上运行。我希望它在容器中/在 Bitbucket Pipelines 或 CircielCI 等 CI 框架中运行。我只关心它是否将数据库中的正确项目加载到新选项卡中,以及它是否从数据库中打开正确的项目以供下载。
猜你喜欢
  • 1970-01-01
  • 2023-03-16
  • 1970-01-01
  • 2012-03-19
  • 1970-01-01
  • 2015-01-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多