相关疑难解决方法(0)

量角器和卡玛可以一起使用吗?

如果Protractor正在取代Angular Scenario Runner进行E2E测试,这是否意味着我仍然可以将它与Karma一起用作我的E2E测试框架?

javascript testing angularjs karma-runner protractor

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

量角器browser.wait不等待

我假设browser.wait应该是一个阻塞调用,但它没有像我预期的那样工作.这是我的样本:

describe("browser.wait", function() {
    beforeEach(function() {
        browser.wait(function() {
            console.log('1 - BeforeEach WAIT');
            return true;
        });
    console.log('2 - BeforeEach after wait');
});

afterEach(function() {
    browser.wait(function() {
        console.log('4 - afterEach WAIT');
        return true;
    });
    console.log('5 - afterEach after wait');
});

it('should probably actually wait.', function() {
    console.log('3 - IT statement');
    expect(1).toBe(1);      
});
Run Code Online (Sandbox Code Playgroud)

现在,因为我认为browser.wait实际上是阻塞的,我认为我的console.log调用将按顺序运行; 1,2,3,4,5;

我得到的实际输出是:

2 - BeforeEach after wait  
1 - BeforeEach WAIT  
3 - IT statement  
5 - afterEach after wait  
4 - afterEach WAIT  
Run Code Online (Sandbox Code Playgroud)

我如何让browser.wait等待?或者我完全使用了错误的功能?我需要阻止的东西,直到我的浏览器到达下一个呼叫所需的位置.

javascript testing end-to-end angularjs protractor

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

量角器的预期条件

在Python中编写selenium测试时,我习惯于使用显式等待来等待页面加载,或等待元素变得可见或可点击等:

from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

element = WebDriverWait(driver, 10).until(
    EC.presence_of_element_located((By.ID, "myDynamicElement"))
)
Run Code Online (Sandbox Code Playgroud)

这里的关键概念是提供等待的预期条件,有多种类型:

与使用sleep硬编码时间间隔的s 相比,使用预期条件使代码更清晰,更可靠.

现在,我们正在将我们的端到端测试基础设施转换protractor为很多.

Expected Conditions量角器中是否有相似的python-seleniumjava-selenium?如果没有,明确等待条件的规范方法是什么protractor

我查看了量角器文档并没有发现任何相关信息.

python testing selenium selenium-webdriver protractor

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