当前位置: 首页 > 面试题库 >

GWT 2.0的selenium测试

夹谷弘亮
2023-03-14
问题内容

如何使seleniumclick()与手动单击相同?

我最近将GWT从1.7.1升级到了2.0。某些selenium测试(SeleniumRC
v1.0.1,IE7)现在失败。似乎Selenium.click()方法未选择GWT
TreeItem。手动单击将使TreeItem变为蓝色(即,看起来已选中,并且在DOM中具有“ gwt-TreeItem-
selected”类属性),但是selenium测试没有。

我坚信selenium实际上是在寻找正确的元素,只是没有点击它。如果您在click方法中更改了字符串参数,则可以检查未找到元素时selenium是否引发异常。

下面的示例代码使用GWT
Showcase网站。它尝试单击单词“贝多芬”。如果用鼠标单击该词,则会看到TreeItem变成蓝色。但是,当您运行selenium测试时,它不会。

package test;

import org.junit.Before;
import org.junit.Test;

import com.thoughtworks.selenium.DefaultSelenium;
import com.thoughtworks.selenium.Selenium;

public class TestTreeClick {
    static Selenium selenium = null;

    @Before
    public void setUp() throws Exception {
        if (selenium == null) {
            selenium = new DefaultSelenium("localhost", 4444, "*iexplore",
                    "http://gwt.google.com/samples/Showcase/Showcase.html#CwTree");
            selenium.start();
        }
    }

    @Test
    public void testingClicking() {
        selenium.open("http://gwt.google.com/samples/Showcase/Showcase.html#CwTree");
        selenium.click("gwt-debug-cwTree-staticTree-root-child0-content");
    }
}

我尝试了其他一些方法(Selenium.clickAt(),Selenium.fireEvent(),Selenium.mouseOver()/
Down()/ Up())-但没有一个方法可以重现手动行为。


问题答案:

不幸的是,在这种情况下,我无法使用Selenium复制点击。我已经看到许多人抱怨他们不能将Selenium与GWT一起使用,而更著名的团队之一就遇到了这个问题。Google
Wave开发团队已开始使用WebDriver来测试其代码。

现在的好处是,目前有一个合并Selenium和WebDriver的项目,因为它们各有优缺点,而且其中许多处于不同的领域,因此最终产品将是惊人的。

我相信他们可能在Google
Code上拥有WebDriverBackedSelenium的工作版本,因此您所需要做的就是更新Selenium的实例化,它应该开始使用WebDriver代码来运行测试。



 类似资料:
  • 我的代码是这样写的。是连续动作。第一个动作是第一次在循环内运行良好。当第二个循环开始时,它抛出了StaleElementRe的异常。所以请帮助我,如何一个接一个地执行多个动作... 问候纳尔西

  • 在本节中,将学习如何在Selenium IDE中创建登录测试用例。 出于测试目的,我们将测试考评师网 的登录页面,该网站网址如下: http://www.kaops.com/ 注意:可以在任何公开可用的网站上注册并创建登录测试。 下图显示了当点击上述URL时显示的主页的快照。 首先,注册用户以获取登录凭据。 对于此测试,我们已经生成了登录凭据(账户和密码)。 现在,生成一个测试脚本,以在Selen

  • 主要内容:1. 项目依赖文件配置,2. @Test(invocationCount =?),3. @Test(invocationCount = ? threadPoolSize = ?),4. 负载测试示例在本教程中,我们将演示如何使用属性和在网站上执行负载测试或压力测试。 使用的工具 : TestNG 6.8.7 Selenium 2.39.0 Maven 3 我们使用库自动化浏览器来访问网站。创建一个用于测试的Maven项目:TestngSelenium 。 1. 项目依赖文件配置 获取T

  • 问题内容: 我尝试结合检查两种情况: 如果启动检查失败,我们将提供一个重试按钮: 否则,startupcheck成功后,我们将在自定义对象中得到一个pin输入请求: 如何将其合并为一项检查而不必同时检查两项:我尝试了以下操作: 但是仅检查第一条语句。 问题答案: 您可以通过lambda表达式组合对using 子句的两个元素的组合检查,如下所示: 替代解决方案是: 作为替代方案,您可以使用等效的cs

  • 问题内容: 我使用Selenium RC进行测试。现在要执行负载测试,我想运行并行测试用例。有什么方法可以在不打开浏览器的情况下运行它们? 问题答案: 要在Centos上进行设置(以root身份进行所有安装) 安装pip下载https://bootstrap.pypa.io/get-pip.py 安装selenium如果您的系统上有pip,则只需安装或升级Python绑定即可:pip instal

  • 我有一套硒测试。例如,有时“断言声明”会失败。在某些情况下,这可能是因为有人破坏了某些东西,而用户界面点击顺序的结果是一个错误,导致网站的错误页面被显示。 如何检查是否每一次失败都发生了这种情况,而不必在任何地方实现对以下方法的调用? 目的是简单地通过电子邮件发送显示页面的html源,如果该页面被证明是一个错误页面。