当前位置: 首页 > 面试题库 >

要删除Browser.sleep()

孙洋
2023-03-14
问题内容

大家好,我正在量角器上测试非角度网站。最初在测试时,我已browser.sleep()使页面完全加载。我知道添加browser.sleep并不是测试的好方法,因此希望将其从代码中删除。

我尝试使用browser.wait,但是遇到错误,添加broswer.manage.timeouts.implicitwait()时,等待不会发生。我在这个问题上困扰了很长时间,请帮帮我:(

  var co = require('co');
    var path = require('path');

    describe("Portal: Partner Admin ", function () {
        beforeEach(function () {
            browser.ignoreSynchronization = true;

        });

        it("test", co.wrap(function* () {

            yield browser.get(browser.params.baseUrl);

            var elmOK = browser.driver.findElement(by.css('a[href="#login"]'));
            yield elmOK.click();
            expect(browser.getCurrentUrl()).toContain("login");
            yield browser.switchTo().frame('here-account-sdk').then(function () {
                browser.driver.findElement(by.id('sign-in-email')).sendKeys("Userid");
                browser.driver.findElement(by.id('sign-in-password-encrypted')).sendKeys("password");
                browser.driver.findElement(by.xpath(' //*[@id="sign-in-form"]/div[2]/div[6]/form/fieldset[3]/button')).click();

            });
            browser.sleep(5000);
            var elmOK = browser.driver.findElement(by.xpath('//*[@id="lnav"]/li[3]/a'));
            yield elmOK.click();
            browser.sleep(1500);
            browser.driver.findElement(by.xpath('//*[@id="administration"]/div/div[1]/select/option[2]')).click();
            browser.sleep(5000);

            browser.driver.findElement(by.xpath('//*[@id="administration"]/div/div[2]/table/tbody/tr[1]/td[10]/span')).click();
            browser.sleep(5000);

            browser.driver.findElement(by.xpath('//*[@id="content"]/div/div[2]/div/div/div/div[3]/button[1]')).click();//Delete the file
            browser.sleep(5000);
        }));

问题答案:

不要等待页面本身,而要等待页面上的元素。

诀窍是先等待元素出现,然后再等待其显示。如果您不先等待“ isPresent”,则仅调用“ isDisplayed”会导致错误。这是一个很好的功能。

function waitForElement(el, waitTimeoutMilliseconds){
    return browser.wait(function() { return el.isPresent(); }, waitTimeoutMilliseconds)
    .then(function(){
       return browser.wait(function() { return el.isDisplayed(); }, waitTimeoutMilliseconds);
    });
}

代替

browser.sleep(5000);
var elmOK = browser.driver.findElement(by.xpath('//*[@id="lnav"]/li[3]/a'));
yield elmOK.click();

var elmOk = element(by.xpath('//*[@id="lnav"]/li[3]/a'));
waitForElement(elmOk, 5000);
elmOk.click();


 类似资料:
  • 问题内容: 我有一个很大的csv文件,其中某些行完全空白。如何使用Python从csv中删除所有空白行? 经过您的所有建议,这就是我到目前为止的内容 可以吗?或者有更好的方法吗? 问题答案: 使用模块: 如果还需要删除所有字段为空的行,请将行更改为: 而且,如果您还想将仅包含空格的字段视为空白,则可以将其替换为: 请注意,在Python 2.x和更早版本中,该模块需要二进制文件,因此您需要使用e标

  • 问题内容: 我完全没有使用Windows API的经验,所以请原谅我的无知。 我想删除文件到回收站。如何使用JNA做到这一点,以及如何检测是否不可能(例如,由于文件位于网络共享上)? 问题答案: 使用已定义和方法的。

  • 本文向大家介绍WordPress删除不必要的meta标签,包括了WordPress删除不必要的meta标签的使用技巧和注意事项,需要的朋友参考一下 WordPress默认情况下引用系统 wp_head() 获得很多的 meta 标签,其中有一些不太必要,所以我们可以通过 add_filter 和 remove_action 删除这些标签。 打开主题下的 functions.php 文件,加入下面的

  • 日安! 我想我已经阅读了几乎所有与PHP和BOM相关的问题,但仍然没有找到适合我的问题的答案。所以我在这里: 我有一个PHP脚本(loader.PHP),它第一次运行时会生成一个配置文件(_config.PHP),在这个脚本中,我只存储一些与第一次调用的环境有关的变量。如果_config。php文件已经存在,我需要它在加载器中。php 一切正常,但问题是_config。php需要创建为UTF8。在

  • 删除数据 force 设置为true 时,不进行物理删除,只是软删除 model.destroy( { where:{ id:this.ctx.params.id }}, { force: true } ) 恢复所有软删除数据 model.restore() 恢复指定ID数据 model.restore( { where: { id: 2 } } )

  • rm(remove),可以删除目录或文件。 rm 要删除的内容的路径 练习:删除文件 rm ninghao-project/README.md 练习:删除整个目录 上面的命令会删除掉 ninghao-project 目录下的 README.md 这个文件。要删除一个目录里包含的所有内容,要加上 r 选项,想不出现确认提示,还要再加一个 f 选项。 rm -rf ninghao-project