在打字稿中使用量角器引用静态文件进行测试
Referencing a static file for tests with protractor in typescript
我正在编写一个测试用例,我必须在其中上传一个 .csv 文件。
我正在使用量角器,并用黄瓜在 typescipt 中编写我的测试。
这就是我定义要上传的文件的方式。
let path = require('path');
let remote = require('selenium-webdriver/remote');
let fileToUpload = "invitation_list.csv";
let absolutePath = await path.resolve(__dirname, fileToUpload);
我得到的错误是:
WebDriverError:参数无效:找不到文件...
我发现问题是 path.resolve 试图在生成 javascript 文件的 e2e-build 文件夹中找到 csv,但很明显,csv 文件不存在。
我可以准确地告诉量角器他应该在哪里寻找文件吗?
我尝试使用完整的相对路径 (let fileToUpload = "dir1/dir2/dir3/invitation_list") 但它没有任何改变。
在量角器配置中,您可以通过添加键值对 root: process.cwd()
来定义其工作目录,然后您可以在整个测试过程中使用它。
protractor.conf.js(e.x位于C:/Users/Foo/Tests)
params: {
root: process.cwd(), // C:/Users/Foo/Tests
},
然后使用它:
import { browser } from 'protractor';
let path = require('path');
let remote = require('selenium-webdriver/remote');
let fileToUpload = "invitation_list.csv";
let absolutePath = await path.resolve(`${browser.params.root}/dir1/dir2/dir3/invitation_list`, fileToUpload);
我正在编写一个测试用例,我必须在其中上传一个 .csv 文件。 我正在使用量角器,并用黄瓜在 typescipt 中编写我的测试。 这就是我定义要上传的文件的方式。
let path = require('path');
let remote = require('selenium-webdriver/remote');
let fileToUpload = "invitation_list.csv";
let absolutePath = await path.resolve(__dirname, fileToUpload);
我得到的错误是: WebDriverError:参数无效:找不到文件...
我发现问题是 path.resolve 试图在生成 javascript 文件的 e2e-build 文件夹中找到 csv,但很明显,csv 文件不存在。 我可以准确地告诉量角器他应该在哪里寻找文件吗? 我尝试使用完整的相对路径 (let fileToUpload = "dir1/dir2/dir3/invitation_list") 但它没有任何改变。
在量角器配置中,您可以通过添加键值对 root: process.cwd()
来定义其工作目录,然后您可以在整个测试过程中使用它。
protractor.conf.js(e.x位于C:/Users/Foo/Tests)
params: {
root: process.cwd(), // C:/Users/Foo/Tests
},
然后使用它:
import { browser } from 'protractor';
let path = require('path');
let remote = require('selenium-webdriver/remote');
let fileToUpload = "invitation_list.csv";
let absolutePath = await path.resolve(`${browser.params.root}/dir1/dir2/dir3/invitation_list`, fileToUpload);