我试图在我的网站上进行一些自动测试,以使Selenium RC启动并运行.我发现我一直想验证我没有破坏任何功能,并且手动测试开始变得厌烦. 但是,我似乎无法让Selenium RC与WaitforPagetoload一起工作. 我尝试复制它们在硒文档中给出的基本示例,但是测试总是陷入:$ this-> waitforpagetoload(" 30000");我可以看到,它在窗口中可以伸出来,并且该页面似乎已经正确加载了(我们在Google搜索结果页面上).但是测试失败了. require_once 'PHPUnit/Extensions/SeleniumTestCase.php'; /** * Description of Test * * @author brian */ class Test extends PHPUnit_Extensions_SeleniumTestCase { function setUp() { $this
以下是关于 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()返回字
我正在使用PHPUnit硒扩展程序在PHP中编写硒测试. 我知道如何在文本字段中键入某些内容: $this->type('fieldName', 'value'); 但是如何从下拉菜单中选择一个选项? 解决方案 要扩展其他(准确)答案,您可以根据选项的标签,值,ID或索引选择.从官方参考可用,网址为/1.0/reference.html : select(selectLocator,optionLocator) 参数: SelectLocator-元素定位器识别下拉菜单 OptionLocator-选项定位器(默认标签) 使用选项定位器从下拉栏中选择一个选项. 选项定位器提供了指定html选择元素的选项的不同方法(例如,选择特定选项或断言所选选项满足规范). Select Option定位器有几种形式. label = labelpattern :根据其标签,即可见文本匹配选项. (这是默认值.) label = regex
我尝试使用带有歌剧的selenium-server-standalone-2.33.0.jar,需要更改一些配置文件偏好. 可以在C#项目中创建操作对象并这样使用: OperaProfile profile = new OperaProfile(); // Error: Type or namespace 'OperaProfile' could not be found profile.preferences().set("User Prefs", "Ignore Unrequested Popups", false); DesiredCapabilities capabilities = DesiredCapabilities.Opera(); capabilities.SetCapability("opera.profile", profile); IWebDriver driver = new RemoteWebDriver(new Uri("http://host:444
我正在Visual Studio(C#)中创建Selenium RC测试脚本.我是 努力重新分发测试;我所有的测试都在一个 文件.我将感谢网站,书籍,书籍的任何意见和/或指示 等待了解模块化测试. 我必须在不同站点上运行相同的测试(相同的应用程序,但是 为不同的客户和登录方式配置不同),为95% 相同的.任何人都想提供一些好的例子或最好的例子 做到这一点的实践? 谢谢! 解决方案 编写硒测试或任何UI测试的最佳做法是页面对象模型这是您为每个页面创建对象的想法.这些对象中的每个对象都要抽象页面,因此当您编写测试时,它看起来并不像您一直在使用Selenium. 因此,对于博客,您会做类似的事情来为主页创建一个对象 public class Home { private readonly ISelenium _selenium; /// /// Instantiates a new Home Page object.
我正在Gitlab CI中运行硒测试,但是使用GitLab Runner而不是我的计算机时正确设置远程URL时有问题. 跑步者的IP地址是192.168.xxx.xxx.当我运行管道时,我得到了硒枢纽的IP地址为172.19.0.2/16.我尝试了两者,都失败了.我还尝试使用Selenium Hub容器http://selenium__hub的名称,但也失败了. docker-compose.yml是: version: "3" services: chrome: image: selenium/node-chrome:4.0.0-20211013 container_name: chrome shm_size: 2gb depends_on: - selenium-hub volumes: - ./target:/home/seluser/Downloads environment:
使用Selenium的Firefox Webdriver 2.20,我需要显示一个工具提示,当鼠标徘徊在网页上的链接上时出现. 我尝试使用硒的动作类来做到这一点,但是我得到了一个ClassCastException:$ proxy7与org.openqa.selenium.internal.locatable不相容.这是我到目前为止尝试的: Actions builder = new Actions(driver); WebElement link = driver.findElement(By.tagName("a")); builder.moveToElement(link).build().perform(); ClassCastException发生在MovetoElement()方法中,当我传递给函数的Webelement将其投入到可被可位置的对象时.该方法是: public Actions moveToElement(WebElement toEleme
我有一组C#硒测试,需要删除具有HTTPonly标志的cookie. 不幸的是,DefaultSelenium.GetCookie()和DefaultSelenium.DeleteCookie()命令无法访问cookie,因为它具有httponly标志集.我已经通过手动删除标志来确认这一点,并检查了随后对任何一种方法的调用,然后很高兴能够操纵相关的cookie. 是否有其他方法可以通过Selenium .NET客户端驱动器? 欢迎所有想法! 解决方案 由于我无法通过客户端驱动程序执行此操作,因此我必须找到一种替代方法.幸运的是,正在测试的Web应用程序具有一系列测试页面,可以与会话cookie进行交互(是我要访问的httponly cookie),因此我能够通过自动化这些页面来实现我的目标. 对于任何遇到此问题的人,都有一个很好的所以在这里回答关于如何将httponly烧成asp.net. 此外a>指出如何通过应用程序的web.config操纵httpo
我正在运行复杂的测试,这些测试为我的网站的不同部分创建了许多cookie. 偶尔我必须在中间进行长时间测试中重新启动浏览器,并且由于Selenium Server不会修改Firefox配置文件,因此Cookie蒸发了. 有什么方法可以将所有cookie保存到python变量之前,然后再终止浏览器并在启动新的浏览器实例后还原它们? 解决方案 是的,当然.查看getCookie,getCookieByName和createCookie方法. 其他解决方案 我认为您应该板条浏览器配置文件并为该配置文件启动服务器.因此,您所有的cookie在每个执行过程中都会保存/修改.我gievn这些细节是另一个问题的答案. -username-and-password/5595349#5595349">请参考..它是为Java客户端和Firefox提供的,但我确定您可以根据自己的要求实现它.
我一直在开发一个工作流程,用于练习大多数自动化 核心组件: Hudson CI Server Git和 GitHub PHPUnit 单位测试 Selenium RC Sauce OnDemand 用于自动化,跨浏览器,用Selenium RC Puppet 用于自动化测试服务器部署 Gerrit 用于Git Code评论 Gerrit Trigger 编辑:我更改了工作流程图,以通过以下方式考虑IRCMAXWell的贡献:删除PHPUnit的PHPUnit扩展名Selenium RC并仅作为QC阶段的一部分运行这些测试;添加QC阶段;在代码审查后但在合并之前移动UI测试; QC阶段后移动合并;合并后移动部署. 此工作流程图描述了该过程.我的问题/想法/疑虑. 我的关注/想法/问题: 使用此系统的总体难度. 时间参与. 难以使用Gerrit. 难以使用Puppet. 我们将稍后在Amazon EC2实例上部署.如果
詹金斯无法启动硒测试(Ubuntu) 错误 11:26:24.652信息 - 开始org.openqa.jetty.jetty.jetty.server@ab50cd 11:26:24.738信息 - 准备Firefox个人资料... HTML套件例外: java.lang.runtimeException:超时等待创建个人资料! at rog.openqa.selenium.server.browserlaunchers.firefoxchromelauncher.waitforfullfullprofiletobecreted(firefoxchromelauncher.java:360) at rog.openqa.selenium.server.browserlaunchers.firefoxchromelauncher.populatecustomprofiledirectory(firefoxchromelauncher.java:114) atrg.openqa.se
我正在尝试使用Maven进行一系列硒测试,我会发现此错误: Running com.myapp.web.selenium.MySeleniumTest WARN [SocketListener0-1] HttpConnection - POST /selenium-server/driver/ HTTP/1.1 java.lang.RuntimeException: Firefox refused shutdown while preparing a profile at org.openqa.selenium.server.browserlaunchers.FirefoxCustomProfileLauncher.waitForFullProfileToBeCreated(FirefoxCustomProfileLauncher.java:27 7) at org.openqa.selenium.server.browserlaunchers.F
使用: jacoco 0.5.3,Maven2,Sonar 2.14,Sonar-Maven-Plugin 1.8,Sùartgwt3.0 目前正在尝试:在我的硒单元测试的声纳上获得代码覆盖. 问题:代码覆盖范围并未从0%移动,尽管传感器已正确启动,请分析正确生成的jacoco.exec. ressources: https://gist.github.com/2888912 POM. xml 我试图获得代码覆盖范围大约2周.我将声纳从2.10升级到2.14,更改了每个声纳属性,尝试了插件Jacoco(用于Maven),但我仍然没有任何结果.因此,如果有人遇到了同样的问题并找到了解决方案,您能告诉我您如何工作吗? 我很确定我的测试必须至少生成0.5%的代码覆盖范围.我的硒测试实际上是在seleniumtestloginerry.java中执行的,它有任何发病率吗?我必须称它为testlogineconry.java吗? (测试类是loginentry.java) 我正在
我正在构建用于使用硒java工具进行测试的应用程序. 有什么方法可以从命令行或批处理文件打开现有的日食项目,以便我可以允许用户选择Java中的testProject,仅单击按钮? 我发现该命令是构建项目 eclipsec.exe -noSplash -data "D:\Source\MyProject\workspace" -application org.eclipse.jdt.apt.core.aptBuild ,但我找不到一个打开一个. 解决方案 如果您省略-application并简单地运行eclipse.exe -data "D:\Source\MyProject\workspace",则将打开您的工作空间.如果您只有一个项目,则解决问题.如果没有,您可以轻松地使用指向您现有项目的链接创建新工作区.
硒:是否有任何JS(JavaScript)代码覆盖工具,我们可以与Selenium Server/RC 集成 嗨, 我想通过我的硒测试套件完成JS代码覆盖范围 是否有任何可以与我现有的Selenium RC框架集成的代码覆盖工具?? 解决方案 我找到了满足我需求的解决方案,有多种工具可用,但我想要一个可以轻松地与现有自动化集成的工具 工具是jscover http://tntim96.github.io/jscover/ 只运行服务器 运行服务器 Java -CP JSCOVER -ALL.JAR JSCOVER.SERVER.SIMPLEWEBSERVER. 8080 运行代理服务器 java -jar target/dist/jscover -all.jar -ws -proxy -proxy -port = 3128 -report -dir = target 在您的网络驱动器中添加代理,以指定端口,3128在我的情况下
我阅读了有关用户扩展和我在硒IDE选项中添加了类似于以下的文件(用户 - extensions.js). // selenium-action-example.js Selenium.prototype.doExample = function() { this.doOpen("/"); // doesn't waitForPageToLoad like the command does // These two commands are equivalent to the clickAndWait command. NOT! // For proof, see the filterForRemoteControl function: // http://code.google.com/p/selenium/source/browse/trunk/ide/src/extension/content/formats/formatCommandOnlyAdapter
我正在使用Java的Selenium RC.在第一页上填写必要的数据 - > Click提交按钮以获取下一页.我的代码是: selenium.click("Submit"); selenium.waitForPageToLoad("30000"); 单击提交按钮后,我发现了错误: com.thoughtworks.selenium.SeleniumException: Timed out after 30000ms 有人可以帮助我吗? 解决方案 Selenium.WaitforPagetoload(" 30000"); 表示您正在给您时间 30000 m.s = 30秒 这意味着您的页面需要超过30秒才能完全加载. 因此,为了避免错误给出更多的时间.像60秒或90秒. 一旦粗略地查看页面所花费的时间来完全加载手动提交并记下时间.(it may take long time if your internet connection is l
我使用硒RC进行测试.现在,要执行负载测试,我想运行并行测试用例. 有什么方法可以在不打开浏览器的情况下运行它们? 解决方案 在CentOS上设置(将所有安装作为root进行) 安装pip下载python get-pip.py 安装硒 如果系统上有PIP,则可以简单地安装或升级Python绑定: PIP安装-U硒 另外,您可以从PYPI(例如Selenium-2.53.1.tar.gz)下载源分发,不统计并运行: python setup.py install 安装程序:pyvirtualdisplay pip install pyvirtualdisplay yum install Xvfb libXfont Xorg 然后修改脚本以在**和** 中添加粗线 **from pyvirtualdisplay import Display** from selenium import webdriver from selenium.web
使用,centos,apache,phpunit,selenium rc, 我正在尝试测试在我的服务器之一中运行的硒RC. java -jar selenium-server-standalone-2.4.0.jar 最初,我有Firefox创建配置文件的错误,它没有加载任何内容并给出错误. 其次,我尝试使用给定的配置文件位置. java -jar selenium-server-standalone-2.4.0.jar -firefoxprofiletemplate "/root/.mozilla/firefox/"& 仍然显示错误 错误 - 无法启动新的浏览器会话,关闭浏览器和 清除所有会话数据 信息 - 获得结果:无法启动新浏览器会话:在session null 上启动浏览器时错误 请分享您的观点可能是问题所在, 运行模拟,它是为了进行测试目的,但是Firefox无法午餐浏览器. 注意:它不是GUI模式(否X),它具有Fir
我正在编程中创建测试帐户,然后立即尝试使用硒驱动的浏览器登录W/它们.不幸的是,浏览器只是重定向到Facebook主页.在重定向闪光灯之前,我可以简要看到看起来是正确的URL,因此我没有理由相信浏览器不会去我打算的位置. 也就是说,如果创建一个假帐户,然后将login_url粘贴到浏览器中,则情况正常.有人知道为什么在这里使用硒可能是独一无二的?我需要做些什么来准备HTTPS连接的浏览器或其他任何东西? 我要做的就是这样:(使用Capybara和Selenium Web驱动程序) 请访问 @face_user.login_url https://www.facebook.com/platform/test_account_login. php?user_id = 100002152974488&n = ilrvb8lqf2cq05t get/platform/test_account_login.php?user_id = 100002152974488&n