量角器的可变范围

时间:2018-07-10 12:40:29

标签: scope jasmine protractor

我正在运行量角器和茉莉花来进行单元测试。

我需要知道我的Web应用程序的构建版本才能执行不同的测试。

我已声明一个变量来存储此版本值。

var version ='';

我正在使用以下代码获取版本号。

menuObject.modaltext.getText().then(function(text) {
            version = text.slice(79,86);
            console.log(version);
            browser.driver.sleep(7000);
});

已正确获取版本号并对其进行了正确的控制台。

但是当我在此.then函数之外使用此版本时,其值变得不确定,并且我无法使用该变量检查任何条件。

如何访问版本号,以便使用它来控制测试流程。

![版本变量已突出显示,如果在if情况下,我将无法访问该版本]

enter image description here

1 个答案:

答案 0 :(得分:0)

尝试将var更改为let。这样就可以在您的规范中访问您的version

describe('Nodeprojectpart2Component', () => {
    let version = '';
    beforeEach(() => {
        version = '1.0';
      });

    it('test', () => {
      console.log( 'version' + version);
    });

  });

与您的代码有关-您正在检索异步/回调函数中的version值。现在,在执行函数之前,将执行控制台并打印undefined。我不确定您为什么要在规范之外定义代码。但是,如果您仍然愿意,则可以在desribe块中定义检索逻辑之后,就可以得到检索逻辑,例如-

describe('Nodeprojectpart2Component', () => {
        let version = '';
        version = //logic to find the version here itself
        ....