Tag: 自动测试

30000ms后,当我尝试使用Selenium RC单击“提交”按钮进入下一页时超时

我正在使用Selenium RC by java。 在第1页填写必要的数据 – > Click提交按钮进入下一页。 我的代码是: selenium.click(“Submit”); selenium.waitForPageToLoad(“30000”); 单击“提交”按钮后,我发现错误: com.thoughtworks.selenium.SeleniumException: Timed out after 30000ms 任何人都可以帮帮我吗?

我应该如何在Java中测试私有方法?

可能重复: unit testing私有方法的最佳方法是什么? 我是一名初学程序员,我不知道如何编写一个结构良好的unit testing应用程序。 我想编写能够在之后添加有效unit testing的应用程序。 问题在于private方法 – 它们不能在类之外进行测试。 我是否应该通过更改所有protected private方法来解决此问题,并让测试类扩展源类? 或者有更好的解决方案吗? 我的解决方案(private splitLetters => protected splitLetters)将如下工作: 来源类: class MyClass{ protected splitLetters(int num){ return num+2; } } 测试类: class Test_MyClass extend MyClass{ public splitLettersTest(){ for(int i=0;i<100;i++){ System.println(parent.splitLetters(i)); } } } 解决方案: 不测试私有方法 – 有时私有方法正在执行非常复杂的任务,应该进行非常好的测试,我们不希望该用户可以访问这些方法。 很快,解决方案正在将私有方法更改为受保护。 嵌套类测试方法 – 有问题,因为QA在源代码中进行了更改 反思 – 如果这可以调用私有方法,它看起来像一个很好的解决方案http://www.artima.com/suiterunner/private3.html (我应该学习更多来理解reflection。我不明白reflection是怎么做的如果我们可以从另一个类调用私有方法,那就不要破坏拥有公共和私有方法的所有想法。) 没有定义私有方法 (正如我在我的解决方案中所示) […]

TestNG依赖来自不同类的OnMethods

当要依赖的测试与具有此批注的测试的类相同时,@ Test注释的dependsOnMethods属性可以正常工作。 但是如果要测试的方法和依赖方法在不同的类中,它就不起作用。 示例如下: class c1 { @Test public void verifyConfig() { //verify some test config parameters } } class c2 { @Test(dependsOnMethods={“c1.verifyConfig”}) public void dotest() { //Actual test } } 有没有办法解决这个限制? 一个简单的方法是在class c2中创建一个调用c1.verifyConfig() 。 但这将是太多的重复。

无法使用Selenium在IE 11上的关闭窗口中找到元素

我正在尝试使用Selenium WebDriver在Internet Explorer 11上运行测试。 代码是: System.setProperty(“webdriver.ie.driver”, “Path/to//IEDriverServer.exe”); WebDriver driver = new InternetExplorerDriver(); driver.get(“www.google.com”); driver.findElement(By.name(“q”)); 我收到这个错误: 已启动InternetExplorerDriver服务器(64位)2.46.0.0正在侦听端口43760线程“main”中的exceptionorg.openqa.selenium.NoSuchWindowException:无法在关闭的窗口中找到元素(警告:服务器未提供任何堆栈跟踪信息)命令持续时间或超时:15毫秒构建信息:版本:’2.46.0’,修订版:’61506a4624b13675f24581e453592342b7485d71’,时间:’2015-06-04 10:22:50’系统信息:主机:’user1-PC’,ip:’ 10.0.23.71’,os.name:’Windows 7’,os.arch:’amd64’,os.version:’6.1’,java.version:’1.8.0_45’驱动程序信息:org.openqa.selenium.ie。 InternetExplorerDriver Capabilities [{browserAttachTimeout = 0,enablePersistentHover = true,ie.forceCreateProcessApi = false,pageLoadStrategy = normal,ie.usePerProcessProxy = false,ignoreZoomSetting = false,handlesAlerts = true,version = 11,platform = WINDOWS,nativeEvents = true,ie。 ensureCleanSession = false,elementScrollBehavior = 0,ie.browserCommandLineSwitches =,requireWindowFocus = false,browserName = internet explorer,initi alBrowserUrl = […]

如何在没有文本框的Selenium上传文件

我一直在寻找在Selenium 2中上传文件的解决方案。 问题是我尝试上传的网页元素有两种使用方式:拖放或点击按钮。 没有字段输入框。 并不是说我没有尝试使用sendKeys。 我已经尝试了按钮和周围的所有元素。 这个问题的第二部分是我在Windows机器上编写,但自动化发生在Linux机器上。 这意味着AutoIt不起作用。 这是上传框的HTML。 Please choose a folder to upload Drop one or more files here or Select Files 我正在使用Java,并对Selenium之外的其他方法开放(但是,我只选择了maven存储库)。 谢谢!

如何使用selenium或webdriver处理测试自动化中的文件上载

我认为每个人如何使用Webdriver进行测试自动化必须意识到它对Web开发的巨大优势。 但是,如果文件上传是您的Webflow的一部分,则存在一个巨大的问题。 它不再是测试自动化。 浏览器的安全限制(调用文件选择)实际上使得无法自动化测试。 Afaik唯一的选择是让webdriver单击文件上传按钮,睡眠线程,让开发人员/测试人员手动选择文件,然后完成其余的Web流程。 如何解决这个问题,是否有解决方法呢? 因为它真的不能这样做。 这没有意义。 这是我所知道的浏览器安全限制不适用的唯一情况: function window.onload(){ document.all.attachment.focus(); var WshShell=new ActiveXObject(“WScript.Shell”) WshShell.sendKeys(“D:\MyFile.doc”) }

使用JMeter运行Selenium脚本

我已准备好function流的Selenium自动化脚本,现在我想将这些脚本与JMeter集成以进行负载测试。 那可能吗? 如果是这样如何整合两者? 我的第一个目标是使用selenium运行自动化脚本,而不是在jmeter中运行这些脚本以进行负载或性能测试。

如何从Java程序创建和运行Apache JMeter Test Scripts?

我想使用Apache JMeter提供的API从Java程序创建和运行测试脚本。 我已经理解了ThreadGroup和Samplers的基础知识。 我可以使用JMeter API在我的Java类中创建它们。 ThreadGroup threadGroup = new ThreadGroup(); LoopController lc = new LoopController(); lc.setLoops(5); lc.setContinueForever(true); threadGroup.setSamplerController(lc); threadGroup.setNumThreads(5); threadGroup.setRampUp(1); HTTPSampler sampler = new HTTPSampler(); sampler.setDomain(“localhost”); sampler.setPort(8080); sampler.setPath(“/jpetstore/shop/viewCategory.shtml”); sampler.setMethod(“GET”); Arguments arg = new Arguments(); arg.addArgument(“categoryId”, “FISH”); sampler.setArguments(arg); 但是,我不知道如何创建一个组合线程组和采样器的测试脚本,然后从同一个程序执行它。 有任何想法吗?

WebDriver打开新标签

我已经在网上搜索了WebDriver API。 我没有看到使用WebDriver / Selenium2.0打开新标签的方法。 有人可以确认我是对的吗? 谢谢,克里斯。 PS:我看到的当前替代方案是在同一窗口中加载不同的URL或打开新窗口。