来自云中竹子的 Selenium Web 驱动程序测试,用于测试文件上传

Posted

技术标签:

【中文标题】来自云中竹子的 Selenium Web 驱动程序测试,用于测试文件上传【英文标题】:Selenium web driver test from bamboo in cloud for testing file upload 【发布时间】:2016-03-03 11:52:08 【问题描述】:

我有一个测试需要自动上传文件。我尝试使用 impersonator ,我还使用了本地文件,当我在本地计算机上运行测试时一切正常。另外,需要注意的是,模仿者在跨域的情况下会失败。因此,作为一种解决方法,我尝试使用竹主文件夹构建下的文件。它在本地运行良好,但我的实际测试在云中运行,通过代理服务器运行测试。 Bamboo 允许我访问/浏览它的构建文件夹中的文件,但它不允许我上传相同的文件。尝试使用冒名顶替者访问代理服务器的文件也失败了。这里的问题也是一样的,我可以浏览文件夹但不能上传文件。不确定它是否具有读/写权限,因为我也尝试提供完全访问权限。任何人都知道解决这个问题吗?任何解决方法?我也在查看添加竹子的酱汁实验室。

【问题讨论】:

【参考方案1】:

您的上传元素是什么样的?它是“文件”类型的元素吗? 如果是,那么您应该可以使用以下方法进行操作

在网格设置中使用 RemoteWebDriver 时

WebElement El = driver.findElement(By.id("uploadElement"));
((RemoteWebElement) El ).setFileDetector(new LocalFileDetector()); 
String file = "src/test/resources/foo.txt";
El.sendKeys(new File(file).getAbsolutePath());

在本地设置中使用其他风格的 RemoteWebDriver [浏览器在运行测试的同一台机器上打开]

WebElement El = driver.findElement(By.id("uploadElement"));
String file = "src/test/resources/foo.txt";
El.sendKeys(new File(file).getAbsolutePath());

【讨论】:

嗨 krishnan,remotewebelement 的方法下没有 setfiledetector 吗?为什么它没有出现在我的 remotewebelement 下? 我不太明白你在问什么。 setFileLocator 是 RemoteWebElement 的一部分。有关 javadocs,请参见此处:seleniumhq.github.io/selenium/docs/api/java/org/openqa/selenium/… selenium.googlecode.com/svn/trunk/docs/api/py/webdriver_remote/… 在 c# 中我找不到 .setfilelocator。参考 webdriver dll 似乎没有它。我错过了什么? 首先,我认为您指的是非常古老的文档。 Selenium 很久以前就开始使用 github。我对 .NET 了解不多,但我确实从 selenium 代码库中找到了这个单元测试。看看这是否给你一些指示github.com/SeleniumHQ/selenium/blob/master/dotnet/test/remote/… groups.google.com/forum/#!topic/webdriver/KxmRZ8MkM4M 这里如果你看到,它被另一位自动化者提到,在 c# 中没有这样的方法。我看到你也已经在这个论坛上发表了评论.. 我没有找到我的答案:(

以上是关于来自云中竹子的 Selenium Web 驱动程序测试,用于测试文件上传的主要内容,如果未能解决你的问题,请参考以下文章

用竹子测试硒

在云中部署 C++ 应用程序 [关闭]

scene.js基于css3绘制熊猫吃竹子动画特效源码

带有硒网络驱动程序的竹子

如何使用竹子部署独立的 Java 程序

是否可以将文本存储在来自 Google 云中的 android 应用(不属于我)的推送通知中?