如何在Robot Framework RIDE中处理Windows身份验证弹出窗口?

时间:2016-12-08 08:56:20

标签: python selenium robotframework

我的应用程序的Windows身份验证弹出窗口显示类似于此应用程序https://www.engprod-charter.net/我在下面的代码中使用python处理selenium中的窗口身份验证弹出窗口。

from selenium import webdriver
import time
import win32com.client

driver=webdriver.Firefox()
driver.maximize_window()
driver.get('https://www.engprod-charter.net/')
shell = win32com.client.Dispatch("WScript.Shell")   
shell.Sendkeys("username")  
shell.Sendkeys("{TAB}")
shell.Sendkeys("password@123") 
time.sleep(5)
shell.Sendkeys("{ENTER}")
time.sleep(2)
driver.quit()

但是因为我在使用python 2.7.12 for Robot Framework,所以似乎不支持win32com.client。我想知道我必须在Robot Framework中使用哪个库来处理这种情况。

我不是要求完整的解决方案,因为这不是stackoverflow中的正确方法,只是想要一个提示我应该尝试处理我的场景。感谢

2 个答案:

答案 0 :(得分:3)

您可以使用处理窗口输入和类似内容的AutoItLibrary来实现您的场景。基本上控制整个GUI而不仅仅是浏览器。

首先安装Robot Framework的AutoItLibrary

  1. 确保安装了32位python(比如python 2.7.6)
  2. here安装pywin32-217.win32-py2.7.exe 32位
  3. 下载AutoItLibrary并解压缩文件夹
  4. 以管理员身份打开命令提示符,然后转到下载的AautoItLibrary文件夹文件夹(cd ... \ AutoItLibrary-1.1.post1),然后编写此命令并按Enter python setup.py install
  5. 现在在Robot Framework中包含AutoItLibrary enter image description here 如果这有效,请告诉我们,我很想知道

答案 1 :(得分:0)

这可以使用java中的Robot Class轻松完成,可以在需要时在Robotframework测试中运行。

即。一个.jar将作为Windows身份验证的处理程序弹出。

在RobotFramework中你只需要运行一个可以处理弹出窗口的.jar。

如果您不熟悉Java,我可以帮助您提供示例代码。