我们如何在Selenium RC for C#中获得当前页面的URL?
我试图在C#中获取硒RC中当前页面的URL.我不想获得图标的HREF属性,因为我想使用它与URL进行比较,图标也将您重定向. 解决方案 说您将其定义为 IWebDriver wb; wb = New FirefoxDriver(); wb.Navigate.GoToUrl("http://gogoel.com"); 然后获取当前URL使用 String ptr=wb.Url;
2 2024-04-25
编程技术问答社区
将Selenium RC测试脚本模块化的最佳实践
我正在Visual Studio(C#)中创建Selenium RC测试脚本.我是 努力重新分发测试;我所有的测试都在一个 文件.我将感谢网站,书籍,书籍的任何意见和/或指示 等待了解模块化测试. 我必须在不同站点上运行相同的测试(相同的应用程序,但是 为不同的客户和登录方式配置不同),为95% 相同的.任何人都想提供一些好的例子或最好的例子 做到这一点的实践? 谢谢! 解决方案 编写硒测试或任何UI测试的最佳做法是页面对象模型这是您为每个页面创建对象的想法.这些对象中的每个对象都要抽象页面,因此当您编写测试时,它看起来并不像您一直在使用Selenium. 因此,对于博客,您会做类似的事情来为主页创建一个对象 public class Home { private readonly ISelenium _selenium; /// /// Instantiates a new Home Page object.
2 2024-04-20
编程技术问答社区
Selenium'的GetAttribute方法的并发症
我最近尝试使用硒RC的 getAttribute 方法,但立即遇到了挑战.我试图执行一个非常简单的selenium.GetAttribute("//a/@href"),但是该代码带有消息"错误:无法找到元素属性://a/@href" . 通过代替selenium.GetText("//a[@href]")代替 getAttribute 呼叫,我确认肯定存在元素,因为该语句正确地返回了链接的文本. 我尝试了: 指向带有不同协议的其他网页(file:///vs http://) - 相同的问题. 使用指向不同属性的不同XPath定位器 - 相同的问题. 使用DOM定位器selenium.GetAttribute("document.getElementsByTagName('a')[0].getAttribute('href')") - 相同的问题;错误消息略有不同(并且错误消息缺少最终括号):"错误:element document.getElementsbytagname
8 2024-04-20
编程技术问答社区
是否有办法从C# Selenium测试中删除HttpOnly cookie?
我有一组C#Selenium测试,需要删除具有HTTPonly标志的cookie. 不幸的是,DefaultSelenium.GetCookie()和DefaultSelenium.DeleteCookie()命令无法访问cookie,因为它具有httponly标志集.我已经通过手动删除标志来确认这一点,并检查了随后对任何一种方法中的任何一种都可以愉快地操纵相关的cookie. 是否有其他方法可以通过硒.NET客户端驱动器? 欢迎所有想法! 解决方案 由于我无法通过客户端驱动程序执行此操作,因此我必须找到一种替代方法.幸运的是,正在测试的Web应用程序具有一系列测试页面,可以与会话cookie进行交互(是我要访问的httponly cookie),因此我能够通过自动化这些页面来实现我的目标. 对于任何遇到此问题的任何人,都有一个很好的因此在这里回答 hattponly如何燃烧到asp.net中. 此外a>指出如何通过应用程序的web.config操纵ht
6 2024-04-20
编程技术问答社区
是否有办法从C# Selenium测试中删除HttpOnly cookie?
我有一组C#Selenium测试,需要删除具有HTTPonly标志的cookie. 不幸的是,DefaultSelenium.GetCookie()和DefaultSelenium.DeleteCookie()命令无法访问cookie,因为它具有httponly标志集.我已经通过手动删除标志来确认这一点,并检查了随后对任何一种方法中的任何一种都可以愉快地操纵相关的cookie. 是否有其他方法可以通过硒.NET客户端驱动器? 欢迎所有想法! 解决方案 由于我无法通过客户端驱动程序执行此操作,因此我必须找到一种替代方法.幸运的是,正在测试的Web应用程序具有一系列测试页面,可以与会话cookie进行交互(是我要访问的httponly cookie),因此我能够通过自动化这些页面来实现我的目标. 对于任何遇到此问题的任何人,都有一个很好的因此在这里回答 hattponly如何燃烧到asp.net中. 此外a>指出如何通过应用程序的web.config操纵ht
2 2024-04-19
编程技术问答社区
Selenium在点击链接后无法检测到新窗口
在我的Selenium脚本中,我单击一个链接(在框架内或生成的内容,以便通过源搜索不会返回它),这将我发送到重定向或是下载的捷径的网站pdf.单击此链接时,PDF出现在新窗口中.不幸的是,即使我使用" wait_for_pop_up"(我正在使用python btw,如果很重要),seleniumrc也无法检测到新窗口. WebDriver可以检测到新窗口,因此,为了解决这个问题,我一直在使用SeleniumRC和Web Driver的组合,但是它是如此的越野车(我使用的Web驱动器,而不是组合),以至于无法忍受.我宁愿将SeleniumRC用于所有内容. 我如何让seleniumrc检测此窗口? 编辑:让我澄清问题:当我告诉它去获取窗口ID(python中的window_handles)时,我想要的窗口甚至都不会出现,好像seleniumrc不知道它存在. webdriver可以找到它并给它一个ID,所以我不知道这是怎么回事. 另外一个细节:带有PDF的新窗口具
6 2024-04-04
编程技术问答社区
无法启动Selenium会话。启动新的浏览器会话失败。启动浏览器时出错
我像 初始化硒 public void setUp() throws Exception { setUp("http://localhost/", "*firefox"); } 我在方法中写下我的测试,例如 public void testUntitled() throws Exception { boo(); foo(); } ,但它给出了 之类的错误 java.lang.RuntimeException: Could not start Selenium session: Failed to start new browser session: Error while launching browser at com.thoughtworks.selenium.DefaultSelenium.start(DefaultSelenium.java:89) at com.thoughtworks.seleni
6 2024-04-04
编程技术问答社区
如何关闭丢失客户端的Selenium RC服务器上的浏览器?
假设客户端在RC服务器上启动了硒会话,但是在会话的中间,客户端"消失了".浏览器将保持打开状态,最终,在足够的丢弃会话后,将有足够的"孤儿"浏览器来减慢计算机的速度. 如何确保关闭这些浏览器? 为什么在协议中没有"保持活力"部分以确保客户端仍然响应且不杀死会话? 解决方案 任何浏览器实例都有一个可以存储的session_id. python示例: >>> import selenium >>> browser = selenium.selenium("localhost",4444, "*firefox", "http://www.santiycr.com.ar") >>> browser.start() >>> browser.sessionId u'b4ad1f1d624e44d9af4200b26d7375cc' 因此,如果您在测试启动时将这些sessionID存储在文件中,然后在测试结束时将其删除,则将有一个日志文件,其中包含sessions的测试,该测
8 2024-04-03
编程技术问答社区
如何使用Selenium对Silverlight进行自动化测试?
我正在寻找一种可以自动化我的应用程序在Silverlight上自动化的方式. 我需要根据需要使用硒,任何人都可以告诉我可以实现我需要的过程或任何好的教程. 预先感谢. 解决方案 看一下: http://code.google.com/p/silverlight-selenium/ /p> 和 Silverlight测试:WATIN vs Selenium比较 还请记住,Silverlight的未来看起来不确定: 等.等. 因此,完成当前的Silverlight项目后,您可能更喜欢考虑将来项目的HTML5,因为HTML5具有更明亮的未来,因为与Flash和Silverlight等专有技术相比,它具有交叉浏览器的支持和效率. . . 其他解决方案 我建议使用哪种桌面自动化工具使用该工具,您几乎可以自动化所有内容.它使用图像的文本解释,以便我们可以找到您的组件. 如果您使用的是python硒,我建议使用pyautogui,这是一个不错的py
14 2024-03-21
编程技术问答社区
如何使用getEval()来验证Selenium中变量的typeof?
我想在硒中这样做: var variable = editors; if (typeof(variable) == "undefined") {}; 但是我不确定如何使用geteval()方法来做到这一点. 解决方案 由于您没有提到编辑的来源,所以我将假设它在页面上. var win = this.browserbot.getUserWindow();将使您访问窗口. selenium.getEval("var win = this.browserbot.getUserWindow();var variable = win.editors; typeof ( variable) === 'undefined';"); ****评论的编辑**** browserbot是硒用来控制浏览器内部的JavaScript对象.它是控制窗口的对象.您可以在硒中可以做什么.因此,进入脚本的高级脚本,然后放置 var resultFromEval = selenium.g
2 2024-03-21
编程技术问答社区
如何用TestNG程序化地运行Selenium Java测试?
我使用testng将硒rc与Java一起使用作为测试框架.我将Eclipse用作IDE.我想非常轻松地从自己的程序中调用Testng.我该怎么做? 解决方案 theStijn给出了一些很好的方向,尽管testMethodworker()是内部的,因此您不应该使用它. 基于问题,我什至不确定原始海报是否试图在单独的过程中启动Testng,因此API文档可能是您想要的: http://testng.org.org.org/documentation-main. html#运行testng-programathicationally 其他解决方案 我在Java中的以下代码效果很好: @Test public void testTestNGProgramatically(){ TestListenerAdapter tla = new TestListenerAdapter(); TestNG testng = new TestNG(); testng.setT
6 2024-03-21
编程技术问答社区
当我试图用Selenium RC点击提交按钮进入下一个页面时,在30000ms后超时了。
我正在使用Java的Selenium RC.在第一页上填写必要的数据 - > Click提交按钮以获取下一页.我的代码是: selenium.click("Submit"); selenium.waitForPageToLoad("30000"); 单击提交按钮后,我发现了错误: com.thoughtworks.selenium.SeleniumException: Timed out after 30000ms 有人可以帮助我吗? 解决方案 硒.WaitforPagetoload(" 30000"); 表示您正在给您时间 30000 m.s = 30秒 这意味着您的页面需要超过30秒才能完全加载. 因此,为了避免错误会给更多时间.像60秒或90秒. 一旦大致查看该页面要花费多少时间来完全加载手动提交并记下时间.(it may take long time if your internet connection is low).
2 2024-03-21
编程技术问答社区
使用Selenium测试一个Facebook Connect应用程序?
是否有人有使用Selenium自动化使用Facebook Connect进行用户登录的WebApp测试的经验?您推荐的任何提示或方法? 解决方案 取决于您想做什么? 您是否会使用真正的Facebook用户(通过Facebook验证的电话)? 最安全,最可靠的,但很难收集"真实"用户(FB验证的电话). 在定义用户/连接详细信息的各个方面,例如教育历史,工作历史,姓名,年龄等(特别是如果您无法访问所有"真实" Facebook帐户). 为测试应用程序创建的假Facebook用户(未经FB验证)? 可能是最容易设置的,因为所有人都是假用户,因此不需要电话验证(带有FB). 但是,将需要为所有用户创建电子邮件ID. 即使连接信息可以根据您的喜好量身定制.主要缺点之一(这发生在我身上),如果FB检测到用户不合法,则FB会冻结所有帐户.这将使您的所有fb 用户特定 自动测试在眼睛的眨眼中无用.而且您无能为力(除非您打算获得全新的电话连接以验证这些帐户,没
2 2024-03-21
编程技术问答社区
org.openqa.selenium.firefox.NotConnectedException。45000 ms后,无法连接到端口为7055的主机127.0.0.1。
我正在尝试运行我从硒IDE导出的Junit测试案例.即时前我要使用Windows XP,Firefox 20.0.1,并使用Selenium-Server-standalone-2.28.0.jar.upon Run,打开空白的Firefox窗口.当我关闭该窗口时,我会在控制台 中得到异常 org.openqa.selenium.firefox.NotConnectedException: Unable to connect to host 127.0.0.1 on port 7055 after 45000 ms at org.openqa.selenium.firefox.internal.NewProfileExtensionConnection.start(NewProfileExtensionConnection.java:96) at org.openqa.selenium.firefox.FirefoxDriver.startClient(FirefoxDrive
4 2024-03-21
编程技术问答社区
如何在启动Selenium远程控制时调整Firefox窗口的大小/最大化?
我正在使用 selenium遥控器.在执行测试期间,实际的Firefox窗口太小.我希望它全屏,以便看到正在发生的事情.如何最大化浏览器屏幕? 解决方案 尝试windowmaximize命令: selenium.windowMaximize(); 您还可以使用以下命令来设置特定的宽度和高度: selenium.getEval("window.resizeTo(X, Y); window.moveTo(0,0);") 其中x是宽度,y是高度. 其他解决方案 这对我有用.所有其他解决方案在FF7中都不起作用. WebDriver driver = ((WebDriverBackedSelenium) selenium).getWrappedDriver(); driver.manage().window().setPosition(new Point(0, 0)); driver.manage().window().setSize(new Dimen
4 2024-03-21
编程技术问答社区
在Selenium中加载一个包含有用测试功能的外部js文件
Selenium中的Runscript命令确实有用,我将其用于表格中的总值,然后将其像以下值一样存储 runScript var cumulative = 0.0; $('table.quote-review-group-component').eq(0).find('tr').each( function( i,el ){var singleStackTotal = $(el).find('td').eq(4).html();if( singleStackTotal ){cumulative += parseFloat( singleStackTotal.substring(1) );} }); cumulative = cumulative.toFixed(2) storeEval selenium.browserbot.ge
0 2024-03-21
编程技术问答社区
Selenium RC:如何检查一个元素是否有一个给定的属性?
我有一些带有onclick属性的按钮,有些则没有.我想检查指定元素是否具有onclick属性.我该怎么做? getAttribute()具有一个属性值.如果没有 $onclickValue = $this->getAttribute("$locator@onclick"); //works when the attribute exists 解决方案 通过使用getEval(),您可以执行JavaScript hasAttribute()函数.使用findElement(),将允许您使用任何类型的定位器模式. $hasAttribute = $this->getEval('this.browserbot.findElement("' . $locator . '").hasAttribute("onclick")'); if ($hasAttribute === 'true') { //attribute exists } 请注意,getEval()返回字
14 2024-03-19
编程技术问答社区
当断言失败时如何继续执行
我正在使用Eclipse和Testng框架使用Java使用硒RC.我有以下代码段: assertTrue(selenium.isTextPresent("Please enter Email ID")); assertTrue(selenium.isTextPresent("Please enter Password")); 第一个断言失败了,执行停止.但是我想继续进一步的代码段. 解决方案 硒IDE使用验证执行软主张,这意味着即使检查失败,测试也将继续进行,并且要么在测试结束时或在硬断言时报告失败. 使用Testng,可以使用自定义测试听众获得这些软主张.我已经在博客上记录了如何执行此操作: http://davehunt.co.uk/2009/10/08/using-soft-astertions-in-testng.html 基本上,您需要创建自己的verify*方法,在这些方法中,您可以捕获断言失败并将其添加到地图中.然后,在自定义afterInvo
40 2024-03-17
编程技术问答社区
Selenium Webdriver:由于返回类型未知,可重复使用的xml解析类方法无法工作
我的目标是创建可重复使用的XML解析类,以返回类型可以是数组或arrayList 我的代码正常工作,但我想要重复使用我无法创建可重复使用的类/方法,因为返回类型可能会rane或arraylist无法正常工作.** 1)我创建了一个XML文件,如下所示: What is software Testing? How to connect database with eclipse ? Who was the first prime minister of India? Who is Dr.APJ Abdul Kalam
4 2024-03-04
编程技术问答社区
Selenium RC架构和Selenium WebDriver架构的区别
嗨,我想要Selenium RC和WebDriver的体系结构之间的差异. 我读了很多功能差异,但没有找到架构差异的任何东西. 如果任何人都可以发送/发布差异的链接,这些链接将真正适用. 预先感谢 解决方案 差异很大. Selenium RC仅使用JavaScript进行每个命令.这意味着您所写的所有内容最终都会翻译成JavaScript并在浏览器中运行.这种方法具有几种优缺点 - 每个浏览器都应以相同的方式工作,但仅限于 selenium-rc-works Web Driver实际上使用每个浏览器自己和本机API与它们一起使用.这意味着它有时需要浏览器开发团队的直接帮助,有时会在新的浏览器版本发布中失败,有时在不同的浏览器上的行为略有不同(但是,在IE上,JS也不是最可靠的事情)总体上更强的工具.它应该更快,它应该允许在没有任何JS限制的情况下进行更复杂的工作. http:http:> http://seleniumhq.org/docs/03_w
10 2024-03-03
编程技术问答社区