带有 java 关键字的机器人框架:Selenium.open(..) 以隐藏模式打开 Firefox 浏览器
Posted
技术标签:
【中文标题】带有 java 关键字的机器人框架:Selenium.open(..) 以隐藏模式打开 Firefox 浏览器【英文标题】:robot framework with java keywords : Selenium.open(..) opens Firefox browser in hidden mode 【发布时间】:2016-04-25 22:16:44 【问题描述】:我有一个使用 selenium RC 开发的 Java 测试自动化套件。试图在 Robot Framework 测试套件中调用 Java 方法作为关键字。
有时,我看到 Selenium.open(..) ,虽然被执行,但 Firefox 浏览器(版本 38.3)被隐藏,下一个命令找不到启动的窗口,虽然机器人测试报告说打开命令是成功的。
同样的代码在谷歌浏览器上也能正常工作。
那么我们如何取消隐藏隐藏的FF窗口:
代码:
Java
public class UILib
public void initSelenium()
Selenium selenium=new DefaultSelenium(SEL_HOST, SEL_PORT, "chrome", ADMURL);
//Starting Selenium Instance
selenium.start();
//Opening Selenium Browser
selenium.open(AdminURL);
Thread.sleep(1000);
机器人测试套件
*** Settings ***
Library somepackage.UILib
*** Test Cases ***
Open Login page
Init Selenium
【问题讨论】:
【参考方案1】:要最大化您的浏览器窗口,请使用:
//Opening Selenium Browser
selenium.open(AdminURL);
selenium.windowMaximize()
【讨论】:
它不起作用。由于 Firefox 窗口是隐藏的,不可见的,虽然命令被执行,但看不到效果。谢谢。 @VivekKulkarni 好的,“隐藏”到底是什么意思?我只能想到“最小化”或“无头”。但后者绑定到您的 X 服务器,也会影响 Chrome。 隐藏是,浏览器根本不可见,但是在任务管理器进程列表中,浏览器被列出来了。并且所有 Selenium-Window 方法都在该浏览器会话上成功执行,但没有任何内容可见。希望这能清除。谢谢。【参考方案2】:您可以使用 Robot Framework Builtin 命令来最大化浏览器。
Maximize Browser Window
【讨论】:
这不起作用,因为 selenium 会话是由 Java 类启动的,并且“最大化浏览器窗口”仅适用于机器人框架启动的会话。谢谢。【参考方案3】:我还没有找到这个问题的根本原因。虽然我可以通过将 FF 版本升级到 38.5.1 来使其工作。
【讨论】:
以上是关于带有 java 关键字的机器人框架:Selenium.open(..) 以隐藏模式打开 Firefox 浏览器的主要内容,如果未能解决你的问题,请参考以下文章