我试图单击用于登录的Internet Explorer(Windows安全)登录弹出对话框。该测试是一个包含Silk4J脚本的jar文件,并使用执行服务器在另一台计算机上与Silk Central一起运行。远程桌面会话处于活动状态时,它可以正常工作,但是当会话最小化或关闭时,它不起作用。使用.select()
时,常规的DOM按钮不会出现问题,并且在我当前的设置中可以正常工作。
程式码片段:
BrowserType browserType = BrowserType.InternetExplorer;
BrowserBaseState baseState = new BrowserBaseState(browserType, url);
browser = baseState.execute(desktop);
browser.setActive();
generalWebPage = browser.find("//BrowserWindow");
loginDialog = browser.find("//Dialog");
loginDialog.setActive();
loginDialog.<TextField> find("//TextField").setText(username);
loginDialog.<TextField> find("//TextField[2]").setText(password);
loginDialog.<PushButton> find("//PushButton[@caption='OK']").select();
在会话处于非活动状态时,常规DOM元素仍然可以正常工作。但是,Silk不会点击此对话框按钮。我尝试了
setFocus
,s endKeys(Enter key)
甚至Tabs en Space。我想念什么?提前感谢!
(Silk 15和IE 11)
最佳答案
Silk Test需要打开和解锁UI会话才能进行用户输入-如果关闭远程桌面会话,它将自动锁定UI会话,Silk Test将不再能够将用户输入发送到应用程序。
如果您确实想使用锁定的会话,则DomClick
和SetText
可能在浏览器中可以使用,因为它们基于JavaScript事件,但是正如您提到的,这对安全性对话框没有帮助,所以我不能解锁UI会话以执行Click
操作以关闭对话框。
关于java - 从Silk Central(执行服务器)运行时,Silk测试不会按下按钮,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33737706/