问题
Windows authentication popup of my application appears similar to this app https://www.engprod-charter.net/ I had used below code to handle window authentication popup in selenium using python.
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()
But since I am using python 2.7.12 for Robot Framework, it seems win32com.client is not supported there. I want to know what library I have to use in Robot Framework to handle this scenario.
I am not asking complete solution as this is not the correct approach in stackoverflow, just want a hint what should I try to handle my scenario. Thanks
回答1:
You can achieve your scenario using AutoItLibrary which handles window inputs and similar things. Basically controlling the entire GUI not just the browser.
First install AutoItLibrary for Robot Framework
- Make sure you have python installed for 32 bit(say python 2.7.6)
- Install pywin32-217.win32-py2.7.exe for 32 bit from here
- Download AutoItLibrary and unzip the folder
- Open command prompt as Administrator and go to downloaded AautoItLibrary folder folder(cd...\AutoItLibrary-1.1.post1) and then write this command and hit enter python setup.py install
Now include AutoItLibrary in Robot Framework Let us know if this works, I would be interested to know
回答2:
This can be easily done using Robot Class in java, which can be run in Robotframework test when required.
i.e. A .jar which will function as handler for the windows authentication pop up.
In RobotFramework you would just need to run a .jar which will handle your pop up.
Just in case you are not used to Java, I can help you with a sample code.
来源:https://stackoverflow.com/questions/41035353/how-to-handle-windows-authentication-popup-in-robot-framework-ride