Protractor 量角器:多次循环一个简单的测试-无参数

Protractor 量角器:多次循环一个简单的测试-无参数,protractor,Protractor,我有一个简单的测试,我的开发人员希望反复运行-他们遇到过这样的问题,页面加载后拒绝正确呈现 以下是测试代码: describe('DBM Tags', function() { it('clears prefill basket', function() { var startTime; browser.get('https://gxptag.guestline.net/qa/'); // browser.driver.manage().window()

我有一个简单的测试,我的开发人员希望反复运行-他们遇到过这样的问题,页面加载后拒绝正确呈现

以下是测试代码:

describe('DBM Tags', function() {
    it('clears prefill basket', function() {

var startTime;

        browser.get('https://gxptag.guestline.net/qa/');
       // browser.driver.manage().window().maximize();



       browser.ignoreSynchronization = true,

            browser.sleep(3000);

                    expect(browser.getTitle()).toEqual('DBM QA Tag Tester');
            browser.sleep(500);

//timer start

browser.controlFlow().execute(function() {
    startTime = new Date().getTime();
});

//Clicks on basket prefill to load Hotel1   
    element(by.xpath("/html/body/div[1]/div[1]/button[6]")).click();
    browser.switchTo().frame(element(by.tagName('iframe')).getWebElement()); 
    browser.sleep(500);
var EC = protractor.ExpectedConditions;
var e = element(by.xpath ('/html/body/div[1]/div[2]/div/div[2]/div/div[2]/div[2]/div/div[1]/div/span'));
browser.wait(EC.presenceOf(e),5000);

//timer stop
    browser.controlFlow().execute(function() {
var endTime = new Date().getTime();
var elapsedTime = endTime - startTime;
    console.log('Elapsed Time Basket Prefill modal = ' + elapsedTime + 'ms');

});

    browser.switchTo().defaultContent(); 

//verifies there is a value
            browser.switchTo().frame(element(by.tagName('iframe')).getWebElement());
var value1 = element(by.xpath('/html/body/div[1]/div[2]/div/div[2]/div/div[2]/div[2]/div/div[2]/div/div/div/div[2]/div/div[1]/span/span'));
    expect(value1.getText()).toEqual('£440.00');
        browser.sleep(1000);

//closes modal
            browser.switchTo().defaultContent(); 
    element(by.xpath('//*[@id="dbm-close-btn"]')).click();
        browser.sleep(500);


//clicks on Hotel1
    element(by.xpath('/html/body/div[1]/div[1]/button[3]')).click();
        browser.sleep(3000);

//clears room
            browser.switchTo().frame(element(by.tagName('iframe')).getWebElement());
        browser.sleep(3000);    
    element(by.deepCss('.removeBooking > svg:nth-child(1)')).click();
        browser.sleep(1000);
            browser.switchTo().defaultContent();        
    element (by.xpath('//*[@id="dbm-close-btn"]')).click();  
        browser.sleep(1000);    




        });
    });

我想做的是循环这个代码x次…用老VB的说法

for x = 1 to 100,

//code here

next x
我很感激我们需要考虑承诺,但其他任何建议都将非常感激。
谢谢

我没有时间测试它,所以可能会有一些错误,但请将其用作一种方法

让你的规格像这样

let j = Number(process.env.RERUN) || 1;
for (let i = 0; i < j; i++) {
    describe("Suite", () => {
        it('1', async () => {
            // your test case
        });
    });
}
p.S.

也可以使用这种方法 这样,您需要更改等级库中的一行

let j = Number(browser.params.rerun) || 1;
然后启动量角器

protractor conf.js --parameters.rerun=100

我没有时间测试它,所以可能会有一些错误,但可以将其用作一种方法

让你的规格像这样

let j = Number(process.env.RERUN) || 1;
for (let i = 0; i < j; i++) {
    describe("Suite", () => {
        it('1', async () => {
            // your test case
        });
    });
}
p.S.

也可以使用这种方法 这样,您需要更改等级库中的一行

let j = Number(browser.params.rerun) || 1;
然后启动量角器

protractor conf.js --parameters.rerun=100
总而言之

将此添加到规范中:

let j = Number(browser.params.rerun) || 1;
for (let i = 0; i < j; i++) {
describe("Suite", () => {
    it('1', async () => {
   });
 });
}
…然后开始测试

量角器配置.js

测试将运行5次

感谢

总结一下

将此添加到规范中:

let j = Number(browser.params.rerun) || 1;
for (let i = 0; i < j; i++) {
describe("Suite", () => {
    it('1', async () => {
   });
 });
}
…然后开始测试

量角器配置.js

测试将运行5次


谢谢

谢谢@Sergey Pleshakov。这看起来很有希望。但是,当我运行命令
RERUN=100
等时,我会收到一条错误消息:
'RERUN'未被识别为内部或外部命令、可操作程序或批处理文件。
我是否需要加载NPM模块,或者可能需要将测试命令插入package.json?谢谢,你不需要任何包裹。1.这是一个在Mac上使用env变量启动节点进程的命令,可能对您的操作系统来说有所不同。2.确保
=
1周围没有空格。我正在运行Win10。2.是,没有空格。还是一样的错误。您是否对conf.js文件进行了任何更改?谢谢。不,此功能不是量角器的一部分。这是节点特性。检查一下这个答案下面投票最多的评论,也许会有帮助。同时,我会用另一种方法更新答案。这能解决问题吗?如果是这样的话,你能接受答案吗?谢谢@Sergey Pleshakov。这看起来很有希望。但是,当我运行命令
RERUN=100
等时,我会收到一条错误消息:
'RERUN'未被识别为内部或外部命令、可操作程序或批处理文件。
我是否需要加载NPM模块,或者可能需要将测试命令插入package.json?谢谢,你不需要任何包裹。1.这是一个在Mac上使用env变量启动节点进程的命令,可能对您的操作系统来说有所不同。2.确保
=
1周围没有空格。我正在运行Win10。2.是,没有空格。还是一样的错误。您是否对conf.js文件进行了任何更改?谢谢。不,此功能不是量角器的一部分。这是节点特性。检查一下这个答案下面投票最多的评论,也许会有帮助。同时,我会用另一种方法更新答案。这能解决问题吗?如果是的话,你能接受这个答案吗