【问题标题】:Selenium test fails in Azure pipelineAzure 管道中的 Selenium 测试失败
【发布时间】:2021-10-27 13:18:52
【问题描述】:

我有一个 Selenium Python 测试来检查网站是否正常运行。

我在本地计算机上多次测试了这个脚本,它运行良好。但是当我在 Azure DevOps 中运行它时,它失败了。这是场景以及失败的地方

当页面加载时,开始和结束日期以dd/mm/yyyy这种格式显示,并且按钮Start Campaign是灰色的,直到设置正确的日期格式(如屏幕截图所示)

我的 Selenium 代码:​​

start_date = date.today()
# start Date
time.sleep(3)
el_start_date = wait.until(EC.element_to_be_clickable((By.XPATH, '//*[@id="root"]/div[2]/main/div[3]/div[1]/div[2]/input')))
time.sleep(5)
el_start_date.clear()
el_start_date.send_keys(start_date.day, Keys.ARROW_RIGHT, start_date.month, Keys.TAB * 2)


# End Date

end_date = start_date + timedelta(days=14)
time.sleep(5)
print(end_date)
el_end_date = wait.until(EC.element_to_be_clickable((By.XPATH, '//*[@id="root"]/div[2]/main/div[3]/div[1]/div[3]/input')))
el_end_date.clear()
el_end_date.send_keys(end_date.day, end_date.month,end_date.year)

本地工作得很好,它确实输入了正确的日期格式,我可以自动单击Start Campaign,但在 Azure DevOps 管道中,脚本在此阶段失败,因为它无法定位按钮,这使得我认为日期输入格式有问题。

我尝试了所有方法来调试它,但没有任何效果,我不知道如何才能至少检索那些日子的价值来了解如何解决这个问题。

谁能帮我解决这个问题,或者我该如何解决和调试它?

【问题讨论】:

    标签: python-3.x selenium selenium-chromedriver azure-pipelines


    【解决方案1】:

    你可以试试看一下页面原文:

    html_source = browser.page_source
    

    Python Selenium accessing HTML source

    如果您无法访问机器,您可以在执行期间制作屏幕截图/视频:

     driver.save_screenshot("screenshot1.png")
    

    Take screenshot of full page with Selenium Python with chromedriver

    可能存在浏览器警报,或者您正在测试的应用程序可能更慢/更快,或者机器(Azure DevOps 代理)可能有不同的日期时间设置等。

    【讨论】:

    • 我会试试html源代码。关于屏幕截图,我确实尝试过,它在本地工作,但它在 azure 管道中不起作用,因为它不保存文件
    • 如果这是脚本中的第一次单击,可能您的交互式会话有问题,您可以查看 tscon 命令docs.microsoft.com/en-us/azure/devops/pipelines/test/…
    • 那个不起作用的按钮,基本上是我脚本的最后一个按钮,点击后我的脚本将退出关闭驱动程序。
    • 谢谢。为了将屏幕截图保存在 Azure 中,您应该将其附加到 TestContext,对于 C# 和 NUnit,代码为 TestContext.AddTestAttachment() docs.microsoft.com/en-us/azure/devops/pipelines/test/…
    • 非常感谢您的建议。 html 源代码让我明白问题出在哪里。由于我在上一步中配置了 Key.Tab,因此单击按钮不起作用,因为开始日期是一个空值。非常感谢您的时间和帮助
    猜你喜欢
    • 1970-01-01
    • 2020-01-01
    • 2015-02-04
    • 2021-10-25
    • 2019-03-18
    • 2020-04-16
    • 1970-01-01
    • 1970-01-01
    • 2020-01-08
    相关资源
    最近更新 更多