标签: browser-automation

Watir: - 点击图片按钮?

我使用的是firefox,我修改了它的用户代理,使其行为像iphone web浏览器.现在,当我使用watir打开google.com时,现在我想点击searh按钮,这是移动视图中的图像.怎么做.

user-agent browser-automation watir firewatir

1
推荐指数
1
解决办法
3829
查看次数

维护并重用现有的webdriver浏览器实例 - java

基本上每次我从eclipse运行我的java代码时,webdriver都会启动一个新的ie浏览器并在大多数情况下成功执行我的测试.但是,我有很多测试要运行,webdriver每次启动一个新的浏览器会话都很痛苦.我需要一种方法来重用以前打开的浏览器; 所以webdriver会打开,即第一次,然后第二次,我运行我的eclipse程序,我希望它只是拿起以前的浏览器实例并继续在同一个实例上运行我的测试.这样,我每次运行程序时都不会启动新的浏览器会话.

假设您有100个测试要在eclipse中运行,您点击该运行按钮并且它们都运行,然后在大约第87次测试时您会收到错误.然后你回到eclipse,修复那个错误,但是你必须从头再次重新运行所有100个测试.

在第87次测试中修复错误然后从第87次测试恢复执行,而不是从头开始重新执行所有测试,即从测试0一直到100,这将是很好的.希望,我很清楚你们的帮助,谢谢顺便说一下.

以下是我尝试维护和重新使用webdriver Internet Explorer浏览器实例的尝试:

public class demo extends RemoteWebDriver { 

    public static WebDriver driver;
    public Selenium selenium;
    public WebDriverWait wait;
    public String propertyFile;
    String getSessionId;


    public demo() { // constructor


        DesiredCapabilities ieCapabilities = DesiredCapabilities
                .internetExplorer();
        ieCapabilities
                .setCapability(
                        InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS,
                        true);
        driver = new InternetExplorerDriver(ieCapabilities);


        this.saveSessionIdToSomeStorage(getSessionId);
        this.startSession(ieCapabilities);
        driver.manage().window().maximize();
    }

    @Override
      protected void startSession(Capabilities desiredCapabilities) {
        String sid = getPreviousSessionIdFromSomeStorage();
        if (sid != null) {
          setSessionId(sid);
          try {
            getCurrentUrl();
          } catch (WebDriverException e) {
            // session is not valid
            sid …
Run Code Online (Sandbox Code Playgroud)

java selenium browser-automation selenium-webdriver remotewebdriver

1
推荐指数
1
解决办法
2万
查看次数

打破了量角器.filter()或.map()循环

我正在使用量角器和黄瓜框架; 如何突破.filter或.map循环?如果我发现匹配,我不想再继续迭代!

Page.prototype.getElementByKey = function (key) {
      var foundElement = null;
      return someElement.all(by.css('.someClass')).map(function (rawItem, index) {
        var itemObject = new ItemObjectClass(rawItem);
        return itemObject.getItemKey().then(function (foundItemKey) {
          var matched = String(foundItemKey).trim() === String(key).trim();

         console.log(' Matched: { ' + matched + ' }  index {'+index+'}');
          //if we have a match break out of the .filter function
          if (matched) {
            foundElement = itemObject;
            throw new Error("Just our way of breaking out of .filter() above");
          }
        });
      }).then(function () {
        //callback
        throw new Error('\n!!!!!Callback should …
Run Code Online (Sandbox Code Playgroud)

selenium browser-automation webautomation protractor e2e-testing

1
推荐指数
1
解决办法
2843
查看次数

有没有办法在 TestCafe docker 中运行非无头浏览器?

我正在运行 TestCafe docker,希望查看浏览器,以便我知道发生了什么,并且默认情况下不以无头模式运行它。是否可以?

automated-tests browser-automation docker e2e-testing testcafe

1
推荐指数
1
解决办法
682
查看次数

如何:使用 Playwright 与滑块交互

我所期望的 我尝试与基于角度的网页上的滑块 ui 元素进行交互。下面显示的代码不再与有问题的元素交互。曾经有一段时间..

更多信息

阅读提到的“空白”问题,这称为“视图跟踪”。我不能 100% 确定这与该问题有关。

我尝试过的

我在与使用 Angular 构建的网页上的滑块交互时遇到问题。通过我目前的解决方案

 async slideToAgree() {
    const { page } = this

    const {
      width: sw,
      height: sh,
      x: sx,
      y: sy
    } = await (await page.$('.slider-controller')).boundingBox();

    const { width: tw, x: tx } = await (
      await page.$('.slider-container')
    ).boundingBox();

    await page.mouse.move(sx + sw / 2, sy + sh / 2);
    await page.mouse.down();
    await page.mouse.move(tx + tw, sy + sh / 2, { steps: 10 });

  }
}

Run Code Online (Sandbox Code Playgroud)

实际发生了什么/结果

剧作家正在点击屏幕的右上角,在网页之外的这个奇怪的“额外空白区域”..让我觉得元素的边界框已损坏/未附加到 DOM? …

browser-automation uislider playwright playwright-typescript

1
推荐指数
1
解决办法
2085
查看次数

使用PageFactory(Selenium-WebDriver)编写TestCases.好处?

在Selenium2中编写测试用例时,采用PageFactory方式是一个好习惯吗?如果是,为什么?

坦率地说,我在编写测试用例时从未使用它们,也没有错过它.但我想知道使用PageFactory而不是使用它有什么好处.

selenium browser-automation test-framework selenium-webdriver

0
推荐指数
1
解决办法
1676
查看次数

"机器人框架"的"字符串库"中的"生成随机字符串"关键字,用于分配给变量

我需要生成随机数并将其分配给变量一次,以便以后多次使用它.我找到了关键字,Generate Random String但我不知道如何将它应用于我的案例.

testing random automation browser-automation robotframework

0
推荐指数
1
解决办法
9446
查看次数

javascript代码可以在不同的网页上继续运行吗?

我正在尝试编写一个运行在不同网页上的JavaScript.脚本应在搜索栏中键入内容,单击搜索,单击结果,然后将每个结果文本保存到数组中.它看起来像:

function returnresults(queries){
  arrayofcontent = [];

  for each query {
    type query in searchbar;
    submit search;
    result[0].click(); // go to first result
    arrayofcontent.push(pagecontent.innertext);
  }
  
  return arrayofcontent;
}
Run Code Online (Sandbox Code Playgroud)

问题是脚本点击搜索后脚本似乎停止了,这让我觉得脚本在移动到另一个页面时会自行卸载,即使我在Google Chrome的javascript控制台中直接输入脚本.有没有人知道如何告诉谷歌浏览器即使在页面之间移动后仍继续运行脚本?

javascript browser-automation

0
推荐指数
1
解决办法
61
查看次数

TestCafe:.navigateTo 方法访问的 URL 长度有限制吗?

在某种情况下,当访问的页面具有超过 4k 个字符的 url 时,测试会冻结。在开发工具控制台中,我收到一些与 testcafe 中的一些 .js 文件相关的错误 (500),例如 task.js。如果我将 url 拆分为少于 3k 个字符,它就可以工作。这可以从一些配置文件中更改吗?谢谢。

javascript testing automated-tests browser-automation testcafe

0
推荐指数
1
解决办法
54
查看次数