目前,我正在进行上传文件的网络测试。
我尝试遵循解决方案https://sqa.stackexchange.com/questions/17020/upload-a-file-in-selenium-webdriver-using-sendkeys,但由于上载文件的元素不是输入,因此无法使用。
输入:
<cf-file-upload ng-if="!vm.infoForDuplicate && item.accept" accept="::item.accept" multiple="true" model-uri="::item.uri" on-file-upload="vm.onFileUpload"><ng-transclude> <button> <div class="icon"></div> <div class="name">Photo</div> </button> </ng-transclude></cf-file-upload>
然后,我尝试使用机器人课程(在https://sqa.stackexchange.com/questions/12851/how-can-i-work-with-file-uploads-during-a-webdriver-test中进行了介绍)。这个接缝对我来说是一个更好的选择,但是鉴于它应该在远程服务器(Saucelabs)上执行,因此我无法使用文件管理器在远程服务器中找到该文件。 解决该问题的一种方法是在saucelabs上有一个共享文件夹,但我不确定是否可以。
我的观点是sendkeys(path)选项更加简洁,如果您知道如何将该选项与该Web元素一起使用,那将是非常棒的,如果没有,欢迎其他想法。
谢谢。