量角器文件上传到链接

时间:2018-10-18 12:48:20

标签: selenium selenium-webdriver protractor automated-tests

我正在尝试使用量角器和打字稿上载文件。上传按钮位于工具栏上,该工具栏还包含其他两个按钮。与我在这里看到的许多示例不同,此上载按钮是作为链接而不是输入实现的。控制台中存在此警告。没有错误,但文件未上传。

以下警告:

more than one element found for locator By(css selector, a.mat-icon-button) - the first result will be used

下面的HTML:

Py_EnterRecursiveCall

这就是我尝试上传文件的方式。

    const fileToUpload = './Test_file.xlsx';
    const absolutePath = path.resolve(__dirname, fileToUpload);
    const uploadlink = element(by.css('a.mat-icon-button'));
    uploadlink .sendKeys(absolutePath);

3 个答案:

答案 0 :(得分:0)

在这种情况下,如果您在Windows环境中工作,建议您使用AutoIT。

编写和使用非常简单。

https://www.autoitscript.com/site/

答案 1 :(得分:0)

  

为定位符By(css选择器,   a.mat-icon-button)-将使用第一个结果

如果您有3个元素,而第3个是处理上传的元素,则其他2个只是链接参考?

尝试为“上传”标签编写更具体的定位符。

如果代码中存在输入,您是否可以单击按钮进行验证?

如果没有其他解决方案,请使用AutoIt。

答案 2 :(得分:0)

   const fileToUpload = './Test_file.xlsx';
    const absolutePath = path.resolve(__dirname, fileToUpload);
    const uploadlink = element(by.css('a.mat-icon-button>span.mat-button-wrapper>div.command-text'));
    uploadlink .sendKeys(absolutePath);

如果上述方法不起作用,请尝试使用javascript执行程序 https://blog.ng-book.com/executing-raw-javascript-in-protractor/