Azure 管道中的 Selenium 测试失败
Selenium test fails in Azure pipeline
我有一个 Selenium Python 测试来检查网站是否有效运行。
我在我的本地计算机上多次测试了这个脚本,它工作得很好。但是当我在 Azure DevOps 中 运行 它时,它失败了。这是场景以及失败的地方
当页面加载时,开始和结束日期以这种格式显示 dd/mm/yyyy
,按钮 Start Campaign
呈灰色,直到设置了正确的日期格式(如您在截图)
我的硒代码:
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 管道中,脚本在此阶段失败,因为它无法定位按钮,这让我相信日期输入格式出了问题。
我尝试了所有调试方法,但没有任何效果,而且我不知道如何至少检索那些日子的价值以了解如何解决此问题。
谁能帮我解决这个问题,或者我该如何解决和调试它?
您可以尝试查看页面源文本:
html_source = browser.page_source
Python Selenium accessing HTML source
如果您无法访问机器,您可以在执行期间创建 screenshot/video:
driver.save_screenshot("screenshot1.png")
可能有浏览器警报,或者您正在测试的应用程序可能 slower/faster 或者计算机(Azure DevOps 代理)可能有不同的日期时间设置等。
我有一个 Selenium Python 测试来检查网站是否有效运行。
我在我的本地计算机上多次测试了这个脚本,它工作得很好。但是当我在 Azure DevOps 中 运行 它时,它失败了。这是场景以及失败的地方
当页面加载时,开始和结束日期以这种格式显示 dd/mm/yyyy
,按钮 Start Campaign
呈灰色,直到设置了正确的日期格式(如您在截图)
我的硒代码:
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 管道中,脚本在此阶段失败,因为它无法定位按钮,这让我相信日期输入格式出了问题。
我尝试了所有调试方法,但没有任何效果,而且我不知道如何至少检索那些日子的价值以了解如何解决此问题。
谁能帮我解决这个问题,或者我该如何解决和调试它?
您可以尝试查看页面源文本:
html_source = browser.page_source
Python Selenium accessing HTML source
如果您无法访问机器,您可以在执行期间创建 screenshot/video:
driver.save_screenshot("screenshot1.png")
可能有浏览器警报,或者您正在测试的应用程序可能 slower/faster 或者计算机(Azure DevOps 代理)可能有不同的日期时间设置等。