2014-12-02 248 views
1

我遇到了执行文件自动上传到网站上的问题。自动文件上传selenium ide 2.8在mac上

我在Mac上使用selenium IDE 2.8版,通过firefox 31在我的工作中通过浏览器测试网络系统的过程。 在这个过程的一个阶段,它需要我上传一个excel文件。

我已经搜索了许多论坛和博客的解决方案,专门用Mac OS X与Firefox和Selenium IDE一起工作,但没有任何帮助。

在我的剧本,我有:

command : click

Target : name=...

value :

此行会点击它有一个文本字 '选择文件' 和按钮“文件上传'对话窗口会弹出给我选择我想下载的文件

命令:类型 目标:driver.FindElement(By.Id( “文件上传”)) 值:/Users/...../excel.xlsx

这条线应该找到ID的元素'文件上传'中的路径,然后选择我在值列中指定的文件路径。

问题发生: [错误]元素driver.FindElement(By.Id(“文件上传”))未找到

据我了解,即时通讯不知道这是否是正确的,但从我读并理解,有些为别人工作,但不会为我工作。我错过了什么吗?

回答

0

对于此部分:

命令:类型目标:driver.FindElement(By.Id( “文件上传”))值:/Users/...../excel.xlsx

灿你将目标更改为id =文件上传?

+0

这是我在开始时尝试的第一件事,但由于上传文件按钮脚本执行单击浏览器将打开一个mac窗口对话框供我选择文件。通常我不断收到错误的元素未找到,是它id =文件上传或driver.FindElement(By.Id(“文件上传”)) – Mervin 2014-12-10 04:28:06

+0

这很奇怪,这就是我如何在我的自动化试验。也许我们的元素工作不同? 类型| id = file-input | /Users/Dan/Downloads/NewPOFile.csv – Dan 2014-12-10 10:04:18

0

你所谈论的弹出窗口,你不能简单地用硒 使用一个操作系统弹出发送的关键标签使用XPath类似“//输入[@类型=‘文件’]” 然后提交表格

+0

selenium ide的版本和浏览器类型(chrome,FF)是否影响要在命令列中指定的元素类型? – Mervin 2014-12-16 02:17:15

+0

xpath对于所有IDE和浏览器都是相同的,只是与路径 准确地测试,手动尝试它是你点击输入标签是提示选择一个文件,当你选择一个文件时,它会自动上传它,如果它需要按某种提交按钮,然后你需要处理这个:)快乐学习 – 2014-12-16 06:01:01

+0

非常感谢。我刚刚得到通知,实际上我正在工作的网站在界面上有一些错误,所以它不显示文件的路径,但无论如何“//输入[@ type ='file']”现在正在为我工​​作。 – Mervin 2014-12-23 02:22:34