最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

量角器

IT培训 admin 11浏览 0评论

量角器

我写了一些测试,在量角器,但可悲的是我有导入/导出文件的小问题。

HomePage.js

export default class HomePage {
  constructor() {
    this.path = '.php';
    this.searchQuery = element(by.css('.search_query'));
    this.searchButton = element(by.name('submit_search'));
    this.signInButtonHeader = element(by.css('.header_user_info'));
    this.emailInput = element(by.id('email'));
    this.passwordInput = element(by.id('passwd'));
    this.logInButton = element(by.id('SubmitLogin'));
  }
}

首页 - spec.js

import HomePage from '../page_objects/HomePage';
browser.waitForAngularEnabled(false);
const homePage = new HomePage();
beforeEach(async () => {
  browser.get(homePage.path);
});
describe('Homepage', () => {
  it('should have a title', () => {
    expect(browser.getTitle()).toEqual('My Store');
  });
  it('Log into your account', () => {
    homePage.signInButtonHeader.click();
    homePage.emailInput.sendKeys('[email protected]');
    homePage.passwordInput.sendKeys('xxxx');
    homePage.logInButton.click();
  });
  it('Check categories', () => {
    element(by.linkText('Women')).click();
  });
});`

conf.js

const SpecReporter = require('jasmine-spec-reporter').SpecReporter;
require('@babel/register');

exports.config = {
  framework: 'jasmine',
 capabilities: {
    browserName: 'chrome',
 },
 suites: {
    homePage: 'specs/homepage-spec.js',
    searchResults: 'specs/search-results-spec.js',
  },
  onPrepare: () => {
    jasmine.getEnv().addReporter(new SpecReporter({
      spec: {
        displayStacktrace: true,
      },
    }));
  },
};

的package.json

{
  "name": "protractorautomation",
  "version": "1.0.0",
  "description": "This is my test",
  "main": "conf.js",
  "dependencies": {
    "babel-eslint": "^10.0.1",
    "@babel/register": "^7.0.0",
    "eslint": "^5.3.0",
    "eslint-config-airbnb-base": "^13.1.0",
    "eslint-plugin-import": "^2.14.0",
    "jasmine-spec-reporter": "^4.2.1"
  },
   "devDependencies": {
    "@babel/core": "^7.2.2",
    "babel-preset-env": "^1.7.0",
    "babel-register": "^6.26.0"
  },
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [
    "Protractor"
  ],
  "author": "Xxxx",
  "license": "ISC"
}

每当我运行测试,收到此错误:

(函数(出口需要,模块,__filename,__dirname){进口 从'../page_objects/HomePage的主页; ^^^^^^^^

SyntaxError: Unexpected identifier
at new Script (vm.js:84:7)
at createScript (vm.js:264:10)
at Object.runInThisContext (vm.js:312:10)
at Module._compile (internal/modules/cjs/loader.js:694:28)
at Module._compile   (C:\Users\X\Documents\protractorAutomation\node_modules\pirates\lib\index.js:83:24)
at Module._extensions..js (internal/modules/cjs/loader.js:745:10)
at Object.newLoader [as .js] (C:\Users\Mati\Documents\protractorAutomation\node_modules\pirates\lib\index.js:88:7)
at Module.load (internal/modules/cjs/loader.js:626:32)
at tryModuleLoad (internal/modules/cjs/loader.js:566:12)
at Function.Module._load (internal/modules/cjs/loader.js:558:3) [16:53:29] E/launcher - Process exited with error code 100

任何人都可以帮我解决这个问题?

回答如下:

看来,您正在尝试使用进口ES6风格并不在本地的NodeJS支持。

据this answer你有两个选择。我创建了第一个例子,您可以尝试。

module.exports = class HomePage {
  constructor() {
    this.path = 'http://automationpractice/index.php';
    this.searchQuery = element(by.css('.search_query'));
    this.searchButton = element(by.name('submit_search'));
    this.signInButtonHeader = element(by.css('.header_user_info'));
    this.emailInput = element(by.id('email'));
    this.passwordInput = element(by.id('passwd'));
    this.logInButton = element(by.id('SubmitLogin'));
  }
}

改变进口要求

//Change import statement to standard require
let HomePage = require('../page_objects/HomePage');
browser.waitForAngularEnabled(false);
const homePage = new HomePage();
beforeEach(async () => {
  browser.get(homePage.path);
});
describe('Homepage', () => {
  it('should have a title', () => {
    expect(browser.getTitle()).toEqual('My Store');
  });
  it('Log into your account', () => {
    homePage.signInButtonHeader.click();
    homePage.emailInput.sendKeys('[email protected]');
    homePage.passwordInput.sendKeys('xxxx');
    homePage.logInButton.click();
  });
  it('Check categories', () => {
    element(by.linkText('Women')).click();
  });
});

量角器

我写了一些测试,在量角器,但可悲的是我有导入/导出文件的小问题。

HomePage.js

export default class HomePage {
  constructor() {
    this.path = '.php';
    this.searchQuery = element(by.css('.search_query'));
    this.searchButton = element(by.name('submit_search'));
    this.signInButtonHeader = element(by.css('.header_user_info'));
    this.emailInput = element(by.id('email'));
    this.passwordInput = element(by.id('passwd'));
    this.logInButton = element(by.id('SubmitLogin'));
  }
}

首页 - spec.js

import HomePage from '../page_objects/HomePage';
browser.waitForAngularEnabled(false);
const homePage = new HomePage();
beforeEach(async () => {
  browser.get(homePage.path);
});
describe('Homepage', () => {
  it('should have a title', () => {
    expect(browser.getTitle()).toEqual('My Store');
  });
  it('Log into your account', () => {
    homePage.signInButtonHeader.click();
    homePage.emailInput.sendKeys('[email protected]');
    homePage.passwordInput.sendKeys('xxxx');
    homePage.logInButton.click();
  });
  it('Check categories', () => {
    element(by.linkText('Women')).click();
  });
});`

conf.js

const SpecReporter = require('jasmine-spec-reporter').SpecReporter;
require('@babel/register');

exports.config = {
  framework: 'jasmine',
 capabilities: {
    browserName: 'chrome',
 },
 suites: {
    homePage: 'specs/homepage-spec.js',
    searchResults: 'specs/search-results-spec.js',
  },
  onPrepare: () => {
    jasmine.getEnv().addReporter(new SpecReporter({
      spec: {
        displayStacktrace: true,
      },
    }));
  },
};

的package.json

{
  "name": "protractorautomation",
  "version": "1.0.0",
  "description": "This is my test",
  "main": "conf.js",
  "dependencies": {
    "babel-eslint": "^10.0.1",
    "@babel/register": "^7.0.0",
    "eslint": "^5.3.0",
    "eslint-config-airbnb-base": "^13.1.0",
    "eslint-plugin-import": "^2.14.0",
    "jasmine-spec-reporter": "^4.2.1"
  },
   "devDependencies": {
    "@babel/core": "^7.2.2",
    "babel-preset-env": "^1.7.0",
    "babel-register": "^6.26.0"
  },
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [
    "Protractor"
  ],
  "author": "Xxxx",
  "license": "ISC"
}

每当我运行测试,收到此错误:

(函数(出口需要,模块,__filename,__dirname){进口 从'../page_objects/HomePage的主页; ^^^^^^^^

SyntaxError: Unexpected identifier
at new Script (vm.js:84:7)
at createScript (vm.js:264:10)
at Object.runInThisContext (vm.js:312:10)
at Module._compile (internal/modules/cjs/loader.js:694:28)
at Module._compile   (C:\Users\X\Documents\protractorAutomation\node_modules\pirates\lib\index.js:83:24)
at Module._extensions..js (internal/modules/cjs/loader.js:745:10)
at Object.newLoader [as .js] (C:\Users\Mati\Documents\protractorAutomation\node_modules\pirates\lib\index.js:88:7)
at Module.load (internal/modules/cjs/loader.js:626:32)
at tryModuleLoad (internal/modules/cjs/loader.js:566:12)
at Function.Module._load (internal/modules/cjs/loader.js:558:3) [16:53:29] E/launcher - Process exited with error code 100

任何人都可以帮我解决这个问题?

回答如下:

看来,您正在尝试使用进口ES6风格并不在本地的NodeJS支持。

据this answer你有两个选择。我创建了第一个例子,您可以尝试。

module.exports = class HomePage {
  constructor() {
    this.path = 'http://automationpractice/index.php';
    this.searchQuery = element(by.css('.search_query'));
    this.searchButton = element(by.name('submit_search'));
    this.signInButtonHeader = element(by.css('.header_user_info'));
    this.emailInput = element(by.id('email'));
    this.passwordInput = element(by.id('passwd'));
    this.logInButton = element(by.id('SubmitLogin'));
  }
}

改变进口要求

//Change import statement to standard require
let HomePage = require('../page_objects/HomePage');
browser.waitForAngularEnabled(false);
const homePage = new HomePage();
beforeEach(async () => {
  browser.get(homePage.path);
});
describe('Homepage', () => {
  it('should have a title', () => {
    expect(browser.getTitle()).toEqual('My Store');
  });
  it('Log into your account', () => {
    homePage.signInButtonHeader.click();
    homePage.emailInput.sendKeys('[email protected]');
    homePage.passwordInput.sendKeys('xxxx');
    homePage.logInButton.click();
  });
  it('Check categories', () => {
    element(by.linkText('Women')).click();
  });
});

与本文相关的文章

发布评论

评论列表 (0)

  1. 暂无评论