我是测试世界的新手,所以我的问题看起来似乎有些过于天真和愚蠢。看起来/听起来很愚蠢的风险,我的问题是:
我一直在尝试在我公司的webapp上的弹出窗口中测试内容。我现在已经想出了如何检测弹出窗口,但是我无法获得selenium来点击该弹出窗口内的链接。这个webapp中有多个弹出窗口,所以新手很难创建一个测试用例。
我尝试了click,clickAndWait,mouseDown和mouseKey作为选项,但它仍然无法正常工作。有人可以指导我这个吗?
TIA, 安吉拉
答案 0 :(得分:2)
当弹出窗口出现时,您需要将脚本的上下文移动到窗口。
您可以使用selectWindow | window_ID_from_the_link
执行此操作,然后点击。
如果这不起作用,您可能需要使用openWindow
命令创建弹出窗口,然后开始对其进行测试。
答案 1 :(得分:1)
根据您使用的弹出窗口的类型使用getConfirmation / getassert / getprompt .....默认情况下,服务器将使用ok选项单击它们,您必须使用弹出窗口中的消息进行其他操作selenium命令正常工作............. 上述建议是根据我与perl使用的硒RC的经验给出的..........
答案 2 :(得分:0)
也许你可以试试FireFox插件。您可以单击您的应用程序并记录您的步骤。录制完步骤后,您可以轻松将其保存为某种文件或单元测试。
我不确定你应该用于弹出窗口的命令,也许firefox插件会以这种方式提供帮助(它会创建你的命令)。
答案 3 :(得分:0)
如果您使用div标签创建了弹出窗口,则U可以使用以下代码停止selenium服务器,直到弹出窗口打开。
int second = 0;
while(!selenium.IsElementPresent(mylink))
{
if(second >= 5)
break;
Thread.Sleep(1000);
second++;
}
弹出窗口打开后,现在您可以单击弹出窗口中的任何链接。您必须使用以下代码。
selenium.click("id=popup_link"); (popup_link is the id of the link present on the popup)
祝你好运。
答案 4 :(得分:0)
不确定这是否是您正在寻找的,但如果您想点击Selenium无法处理的特定内容 - 例如浏览器弹出窗口或其他弹出窗口,您可以使用Sikuli脚本。 Sikuli进行图像比较并点击相同 - 这非常强大。
以下是链接:http://www.sikuli.org/