我正在尝试从函数editPage.CreateEntity();
中传递字符串值,我需要在变量entityName
下的大多数测试用例中使用该值,如果我设置了测试,我就可以获取该值像这样的情况:
fit('Test Case', async () => {
await editEntityPage.CreateEntity("Automation Entity: ", "California").then(function(name){
console.log(name);
return entityName = name;
});
await entity.SearchAndClickEntity(entityName);
});
但是如何从一开始就获得此值,但NOT beforeEach()
测试用例
describe('Test Suite', () => {
var editPage = require('../pathtofile.js');
var entityName = editPage.CreateEntity("Automation Entity: ", "California").then(function(name){
return name;
});
console.log("Testing Start:");
console.log(entityName);
console.log(JSON.stringify(entityName));
beforeEach(async function(){
await browser.waitForAngularEnabled(false);
});
it('Test Case', async () => {
await entity.SearchAndClickEntity(entityName);
});
ps。当我尝试从console.logs
获取值时,我得到的是:
Testing Start:
Promise { <pending> }
{}
使用beforeAll()
设置此变量。例如
describe('Test Suite', () => {
var entityName = '';
beforeAll(async function(){
//you might need to await this such as "entityName = await editPage.CreateEntity..."
entityName = editPage.CreateEntity("Automation Entity: ", "California").then(function(name){
return name;
});
});
beforeEach(async function(){
await browser.waitForAngularEnabled(false);
});
it('Test Case', async () => {
await entity.SearchAndClickEntity(entityName);
});