Tag: selenium webdriver

从Eclipse执行AutoIt代码

我正在使用Selenium WebDriver进行自动化,并希望处理浏览器身份validation窗口。 我知道Selenium不支持这个,但我可以使用AutoIt。 我们必须与客户共享我们的代码,因此可以从Eclipse管理AutoIt代码吗? 这是代码: WinWaitActive(“Authentication Required”, “”, “120”) If WinExists(“Authentication Required”) Then Send(“username{TAB}”) Send(“password{Enter}”) EndIf 从Eclipse运行AutoIt.exe的代码: Runtime.getRuntime().exec(“C:\\NewAutoIT.exe”); 有没有办法从Eclipse管理AutoIt代码?

在Hadoop的mapreduce框架中运行“Selenium Webdriver”,在地图步骤中冻结

几天前,我决定让selenium webdriver(第三方软件包)在hadoop的mapreduce框架中运行。 我遇到了一个问题。 地图步骤冻结在new FirefoxDriver(); 。 FirefoxDriver类位于名为selenium-server-standalone-2.38.0.jar的第三方jar中。 如果有人有经验或兴趣,我需要你的帮助! 一些细节: 问题详情 为了在命令行中运行代码,我使用“Xvfb”来停止Firefox图形界面。 然后我在开始时说的问题出现了。 我查看了tasktraker的日志,并在this.driver = new FirefoxDriver(ffprofile);找到代码冻结this.driver = new FirefoxDriver(ffprofile); 虽然代码已冻结,但firefox已经设置完毕,我使用ps -A | grep firefox检查 ps -A | grep firefox 环境: ubuntu 10.04 32bit; Hadoop的1.2.0; Mozilla Firefox 17.0.5; selenium – 服务器 – 独立-2.38.0.jar; xvfb的; 提示 (1)Hadoop以Pesudo分布式运行; (2)当我在Eclipse中运行代码时,每件事情都可以。火狐按计划弹出。(我最后会显示演示代码); (3)如果你运行到org.openqa.selenium.WebDriverException: Unable to bind to locking port 7054 within […]

Selenium Webdriver:在firefox中抑制不受信任的连接消息

我已经使用了firefox的selenium webdriver,但我不知道它是否由于昨天的firefox更新或网站上发生了一些变化,但现在每次驱动程序打开页面我都会在firefox中获得不受信任的连接页面,所以我必须手动添加例外。 我无法访问该网站以供其他人测试,因为它是我们正在创建的内部网站,但firefox中的消息是: TestingSite使用无效的安全证书。 证书不受信任,因为没有提供发行者链。 (错误代码:sec_error_unknown_issuer) 在我的测试中,我创建了一个新的firefox配置文件并设置了这两个值: f.setAcceptUntrustedCertificates(true); f.setAssumeUntrustedCertificateIssuer(false); 我读过关于在人们遇到类似问题的其他post上设置这些内容并且它似乎在过去几个月中有效但现在我再次获得例外,但仅在这一个网站上。

使用selenium自定义Chrome webdriver以保存文件,而不会在下载时提示保存或丢弃文件

我正在尝试使用chlenium使用chrome作为我的浏览器使用chromedriver自动下载文件。 当我尝试下载exe文件时,它提示我“这种类型的文件可能会损害您的计算机,丢弃或保存它”。 我希望它无需任何提示即可下载。 我已经研究过以下几个解决方案: chromeOptions = webdriver.ChromeOptions() prefs = {“browser.helperApps.alwaysAsk.force” :False,”browser.helperApps.neverAsk.saveToDisk” : “application/octet-stream”} chromeOptions.add_experimental_option(“prefs”,prefs) browser = webdriver.Chrome(executable_path=//path//to//chrome_driver, chrome_options=chromeOptions) 但这并没有帮助它仍然提出了提示。 非常感谢任何帮助。 谢谢,

如何使用Java在Selenium2(Webdriver)中键入Gmail正文文本

我尝试自动从Gmail发送电子邮件(https://accounts.google.com/ServiceLogin?service=mail&passive=true&rm=false&continue=http://mail.google.com/mail/&scc=1&ltmpl=default&ltmplcache=2)使用Selenium WebDriver和Java。 首先,我尝试使用Selenium IDE记录测试。 IDE无法记录电子邮件正文。 我尝试通过以下方式键入正文,但不幸的是它失败了。 driver.findElement(By.xpath(“// textarea [@ name =’body’]”))。sendKeys(“body text”); 错误是:FAILED:testSendingEmail org.openqa.selenium.ElementNotVisibleException:元素当前不可见,因此可能无法与命令持续时间或超时交互:30.02秒 有人可以帮帮我吗?

如何在testNG报告中包含故障屏幕截图

目前我以这种方式截取我的测试失败的截图: @AfterMethod(alwaysRun=true) public void catchExceptions(ITestResult result){ Calendar calendar = Calendar.getInstance(); SimpleDateFormat formater = new SimpleDateFormat(“dd_MM_yyyy_hh_mm_ss”); String methodName = result.getName(); if(!result.isSuccess()){ File scrFile = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE); try { FileUtils.copyFile(scrFile, new File((String) PathConverter.convert(“failure_screenshots/”+methodName+”_”+formater.format(calendar.getTime())+”.png”))); } catch (IOException e1) { e1.printStackTrace(); } } } 我可以将自己的屏幕截图添加到TestNG报告链接或图片中吗? 如果有,怎么样? 我在网上找到的只是FEST框架。 但由于我已经截取屏幕截图,我不想使用另一个框架。

Selenium WebDriver和InternetExplorer

我最近更新到Selenium 2.24.1以使Firefox 13正常工作。 通过此更新,您现在可以运行类似于chromedriver.exe的可执行文件,以便将事件分派给IE。 但是,我没有运气测试与IE运行。 为了使用chrome运行,我显然必须设置webdriver.chrome.driver位,但是它和Firefox的代码相同。 这是我的源代码: public class GoogleTest { @Test public void test() throws Exception { System.setProperty(“webdriver.ie.driver”, “IEDriverServer.exe”); final WebDriver driver = new InternetExplorerDriver(); driver.get(“http://www.google.com”); driver.findElement(By.name(“q”)).sendKeys(“test”); driver.findElement(By.name(“q”)).submit(); driver.quit(); } } 但是,在执行此测试时,我会遇到此堆栈跟踪 org.openqa.selenium.NoSuchElementException: Unable to find element with name == q (WARNING: The server did not provide any stacktrace information) Command duration or timeout: […]

如何遍历iFrame中的不同帧?

我有一个下面给出的iframe,我可以遍历iframe,但不能执行任何操作,如遍历或单击框架集内的其他组件或框架。 如何单击框架集内的框架/元素?

Selenium点击并不总是有效

我有一些点击选项卡的测试,但并不总是执行点击。 xpath在测试工作的大部分时间都是正确的 这不是一个计时问题,因为我使用thread.sleep()和其他方法来确保元素在单击之前可见 测试认为它正在执行点击,因为它不会在“执行”点击时抛出ElementNotFoundException或任何其他exception。 由于选项卡内容不会更改,因此稍后在单击后测试失败。 进一步的信息我使用Selenium 2.44.0来实现在Chrome 44.0.2403.107 m上运行的Java测试。 我还能做些什么,或者这可能成为selenium的问题?

如何在Eclipse中使用Selenium将外部.js导入我的Java测试?

我想将我的JavaScript函数导入Eclipse中的Java项目并将其与Selenium一起使用,但我找不到表单来执行此操作。 我尝试制作像这样的.js文件,Selenium可以识别这段代码: Selenium.prototype.doProve = function() { $(“#proveDiv > div > div”).each(function(i, obj) { $(i).click(function(){}); }); }; 好吧,你可以看到我有3个div和我想要做的是访问第三个div,其中我有2个div更多(这是循环的线索)。 在循环的每个div中,我想点击一下。 我尝试在我的Java项目中使用此函数,但我无法获得任何结果,因此我尝试将此函数作为String执行,然后执行如下脚本: String script = “$(\”#proveDiv > div > div” + “\”).each(function(i, obj){ ” + “$(i).click(function(){});})”; //Executing script if (driver instanceof JavascriptExecutor) { ((JavascriptExecutor) driver).executeScript(script); } 它工作,但它不是很有用,因为我想创建一个包含所有JavaScript函数的外部.js,并从那里调用它们,而不是在String中。 任何帮助,将不胜感激。 我在这里看到了一些问题,但其中任何一个都适合我。 非常感谢你!