我正在编写一个webapp,其中包含适用于Firefox和chrome的浏览器插件组件。我当前的测试系统使用通过Selenium
IDE创建的一系列Selenium测试。
是否可以为Firefox和chrome(也可能是其他浏览器)安装,激活和删除selenium浏览器插件?
我认为最大的担忧是安装/启用浏览器插件需要重新启动浏览器,我不确定是否可以通过selenium关闭。
通过访问指向检测您的浏览器的php脚本的内部站点链接,可以轻松处理插件的获取。
答案是 肯定的 ,Selenium 2支持(远程)安装浏览器扩展。
Chrome和Firefox WebDriver支持远程安装扩展。以下是Chrome和Firefox的示例代码:
File file = new File("extension.crx"); // zip files are also accepted
ChromeOptions options = new ChromeOptions();
options.addExtensions(file);
// Option 1: Locally.
WebDriver driver = new ChromeDriver(options);
// Option 2: Remotely
DesiredCapabilities capabilities = DesiredCapabilities.chrome();
capabilities.setCapability(ChromeOptions.CAPABILITY, options);
WebDriver driver = new RemoteWebDriver(new URL("http://localhost:4444/wd/hub"), capabilities);
File file = new File("extension.xpi");
FirefoxProfile firefoxProfile = new FirefoxProfile();
firefoxProfile.addExtension(file);
// Option 1: Locally
WebDriver driver = new FirefoxDriver(firefoxProfile);
// Option 2: Remotely
DesiredCapabilities capabilities = DesiredCapabilities.firefox();
capabilities.setCapability(FirefoxDriver.PROFILE, firefoxProfile);
WebDriver driver = new RemoteWebDriver(new URL("http://localhost:4444/wd/hub"), capabilities);
我还实现了Opera和Safari扩展程序的自动安装,它们已在上游合并:
此API与FirefoxDriver类似。
File file = new File("extension.oex"); // Must end with ".oex"
OperaProfile operaProfile = new OperaProfile();
operaProfile.addExtension(file);
// Option 1: Locally
WebDriver driver = new OperaDriver(operaProfile);
// Option 2: Remotely
DesiredCapabilities capabilities = DesiredCapabilities.opera();
capabilities.setCapability("opera.profile", operaProfile);
WebDriver driver = new RemoteWebDriver(new URL("http://localhost:4444/wd/hub"), capabilities);
此API与ChromeDriver类似。
File file = new File("extension.safariextz");
SafariOptions options = new SafariOptions();
options.addExtensions(file);
// Option 1: Locally.
WebDriver driver = new SafariDriver(options);
// Option 2: Remotely
DesiredCapabilities capabilities = DesiredCapabilities.safari();
capabilities.setCapability(SafariOptions.CAPABILITY, options);
WebDriver driver = new RemoteWebDriver(new URL("http://localhost:4444/wd/hub"), capabilities);
祝好运。
我正在使用selenium webDrive来测试我们的网站。我们还有一个浏览器插件/扩展,我们想以同样的方式进行测试。据我所知,没有任何方法可以使用web驱动程序测试插件的安装。是否有任何方法可以使用web驱动程序进行测试?如果没有,我如何自动测试插件的安装?
问题内容: 我使用Selenium RC进行测试。现在要执行负载测试,我想运行并行测试用例。有什么方法可以在不打开浏览器的情况下运行它们? 问题答案: 要在Centos上进行设置(以root身份进行所有安装) 安装pip下载https://bootstrap.pypa.io/get-pip.py 安装selenium如果您的系统上有pip,则只需安装或升级Python绑定即可:pip instal
有没有办法调试JSX文件? 我看不见那张照片。当我查看safari/chrome中的resources选项卡时,会看到jsx文件。我们能用调试器吗?
我想运行和控制一个浏览器窗口从一个web应用程序,以自动化的一些事情(如帐户创建等)在另一个网站。 所以我的问题是,有没有一种方法可以直接从浏览器使用selenium来实现它,在这种情况下如何实现它? 我知道有selenium-webdriver for JS,但在常见的用例中,我们将它与Node.JS一起使用。 WebDriver介绍建议这是可能的: 它的主要目的是允许web作者编写测试,使用户
问题内容: 对于我的Rails 3.1应用程序上的Cucumber场景,我使用了@javascript标记,因此Selenium已激活。我收到以下错误: 如果可能的话,我想使用Google Chrome浏览器作为浏览器-而不是Firefox(我尚未安装)。这可能吗?该怎么办? 实际上,Cucumber / Selenium不应检测并使用浏览器吗? ====编辑==== 添加后 …到features