我即将开始编写一些自动化testing。 似乎每个人都推荐WatiN和Selenium 。 你更喜欢哪一种自动testingASP.NET Web表单? 哪些产品对您更好? 作为一个附注,我注意到自2008年3月以来,WatiN 2.0已经在CTP中,那么这件事是值得关注的吗?
我正在寻找一种快速的方法来在Selenium中键入和input或返回键。 不幸的是我试图testing的forms(不是我自己的代码,所以我不能修改)没有提交button。 当手动使用它时,我只需inputENTER或RETURN 。 我需要知道如何使用Selenium type命令,因为没有button可以点击。
当我使用MSTest FrameWork,并复制Selenium IDE为我生成的代码时,MSTest无法识别TearDown和Setup。 有什么替代呢?
我有我运行testing的地方。 jenkins似乎会在执行特定作业中描述的命令时执行命令。 在这里,我正在尝试运行我的Selenium Webdrivertesting,但它告诉我,我在启动Firefox时出现错误。 最终的想法是完全在这个盒子上运行networkingtesting,并且也截取一些错误的截图。 我使用selenium-java-2.25.jar,firefox 10,linux操作系统。 有趣的是,我可以手动ssh进入框中,暂时从盒子上的另一个用户(获得一个X隧道)复制魔术cookies,执行export DISPLAY=mydisplay:1.0 ,然后启动我的seleniumtesting使用ant。 这将带来Firefox和testing就好了。 这里有各种线程,似乎有完全相同的问题,我想我已经尝试了大部分。 这是我所做的: 重新启动盒子,用VNC重新login。 在运行seleniumtesting之前,在Jenkins中放置一个bash脚本。 bash脚本基本上只是做一个export DISPLAY=mydisplay:1.0 。 它也执行xclock 。 这工作正如我可以看到xclock显示在VNC中。 iptables已closures firefox正确地位于/ usr / bin / firefox中 sshd_config显示X11Forwarding为true。 据说降级Firefox帮助一些人,但我不希望这样做。 Webdriver无论如何都应该支持FF 10。 但是,以上都不能解决问题。 它似乎并不像本地端口上的端口7055甚至存在: netstat -an | grep 7055 netstat -an | grep 7055 – 没有打印 这就是我的/ etc / hosts所说的: 1 127.0.0.1 localhost.localdomain localhost 2 […]
我试图把浏览器自动testing套件和无头浏览器平台的可能的解决scheme清单能够刮。 浏览器testing/清理: Selenium – 浏览器自动化中的polyglot旗舰,为Python,Ruby,JavaScript,C#,Haskell等提供绑定,用于Firefox(作为扩展)的IDE,用于更快的testing部署。 可以作为一个服务器,并具有吨的function。 JAVASCRIPT PhantomJS – 使用屏幕截图和自动化的JavaScript无头testing,使用Webkit 。 从版本1.8开始,Selenium的WebDriver API被实现,所以你可以使用任何的WebDriver绑定和testing将与Selenium兼容 SlimerJS – 与PhantomJS类似,使用Gecko (Firefox)而不是WebKit CasperJS – 基于PhantomJS和SlimerJS构build的JavaScript ,具有额外的function Ghost驱动程序 – 用于PhantomJS的WebDriver Wire Protocol的 JavaScript实现。 新的 PhantomCSS – CSS回归testing。 一个CasperJS模块,用于使用PhantomJS和Resemble.js自动进行可视化回归testing。 新的 WebdriverCSS – Webdriver.io的插件,用于自动化视觉回归testing 新的 PhantomFlow – 通过testing描述和可视化用户stream程。 Web用户界面testing的一种实验方法。 新的 trifleJS – 移植 PhantomJS API来使用Internet Explorer引擎。 新的 CasperJS IDE (商业) Node.js的 节点 – […]
如果我想select一个下拉框的选项,有几种方法可以做到这一点。 我一直使用: driver.findElement(By.id("selection")).sendKeys("Germany"); 但是这并不是每次都有效。 有时select另一个选项。 所以我search了一下,发现这段代码每次都有效: WebElement select = driver.findElement(By.id("selection")); List<WebElement> options = select.findElements(By.tagName("option")); for (WebElement option : options) { if("Germany".equals(option.getText())) option.click(); } 但是,这真的很慢。 如果我有一个很长的名单,其中有很多项目,它真的需要太多的时间。 所以我的问题是,是否有一个解决scheme,每次都有效,速度很快?
我目前使用seleniumwebdriverparsing通过Facebook的用户朋友页面,并从AJAX脚本中提取所有id。 但我需要向下滚动以获得所有的朋友。 我如何在Selenium中向下滚动。 我正在使用python。
我已经search了很多,但无法find解决scheme。 这里有一个类似的问题 ,在Java中可能的解决scheme。 Python中是否有类似的解决scheme?
自从上周发布最新版本的Chrome(34.0.1847.116)以来,在使用watir-webdriver运行自动化testing时,我一直在收到“禁用开发者模式扩展”。 这似乎是进攻的延伸,但对我来说,这是一个潜在的危险的扩展,因为它被使用的铬绿色驱动程序。 任何人已经find了解决这个问题,因为我无法回滚到以前的版本,或find一个旧版本的安装程序回滚,这是对我的testing的破坏。
我有一个Web应用程序来testingselenium。 页面加载时有很多JavaScript运行。 这个JavaScript代码写得不是很好,但是我不能改变任何东西。 因此,使用findElement()方法等待元素出现在DOM中不是一个选项。 我想在Java中创build一个通用函数来等待页面加载,一个可能的解决scheme是: 运行WebDriver的JavaScript脚本,并将document.body.innerHTML的结果存储在stringvariablesbody 。 将bodyvariables与body的先前版本进行比较。 如果他们是相同的然后设置递增计数器notChangedCount否则设置notChangedCount为零。 等待一个小时(例如50毫秒)。 如果页面在一段时间内没有改变(例如500毫秒),那么notChangedCount > = 10,否则退出循环,否则循环到第一步。 你认为这是一个有效的解决scheme?