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

Selenium RC:自动在多个浏览器中运行测试

壤驷心思
2023-03-14
问题内容

因此,我已经开始创建一些使用Selenium RC来直接在浏览器中测试我的Web应用程序的Ruby单元测试。我正在将Selenum-
Client
用于红宝石。我已经为所有其他selenium测试创建了基类。

这将创建许多SeleniumDriver实例,并且在每个实例上调用所有缺少的方法。这实际上是并行运行测试。

别人如何做到这一点?

这是我的实现:

class SeleniumTest < Test::Unit::TestCase
  def setup
    @seleniums = %w(*firefox *iexplore).map do |browser|
      puts 'creating browser ' + browser
      Selenium::SeleniumDriver.new("localhost", 4444, browser, "http://localhost:3003", 10000)
    end

    start
    open start_address
  end

  def teardown
      stop
  end

  #sub-classes should override this if they want to change it
  def start_address
    "http://localhost:3003/"
  end

  # Overrides standard "open" method
  def open(addr)
    method_missing 'open', addr
  end

  # Overrides standard "type" method
  def type(inputLocator, value)
    method_missing 'type', inputLocator, value
  end

  # Overrides standard "select" method
  def select(inputLocator, optionLocator)
    method_missing 'select', inputLocator, optionLocator
  end

  def method_missing(method_name, *args)
    @seleniums.each do |selenium_driver|
      if args.empty?
        selenium_driver.send method_name
      else
        selenium_driver.send method_name, *args
      end

    end
  end
end

这可以工作,但是如果一个浏览器失败,则整个测试将失败,并且无法知道它在哪个浏览器上失败。


问题答案:

您尝试过Selenium Grid吗?我认为它会创建相当不错的摘要报告,其中显示了您需要的详细信息。我可能是错的,因为我已经有一段时间没有使用它了。



 类似资料:
  • 问题内容: 我有一种创建2个远程Web驱动程序的方法。一个带有chrome,另一个带有Firefox: Driver.cs 然后我有一个Test类: } 问题是当Driver.Intialize被调用时,它无法同时运行chrome和firefox。我要发生的是,调用Init方法时,它将启动两个浏览器并在每个浏览器中运行测试方法。 问题答案: 我目前使用NUnit的方式。我遇到了同样的问题,找不到使

  • 我试图在浏览器堆栈上运行多个浏览器上的E2E测试,我参考了在量角器中的多个/并行浏览器上的E2E测试?和Internet Explorer Selenium量角器e2e测试 但每次我试着运行测试时都会犯错- 谁能告诉我什么是我做错了这里,而且我们使用gulp ti运行规范,但我的问题是它是说,甚至没有超出认证。

  • 问题内容: 我正在将Selenium WebDriver与Java和TestNG框架一起使用。我想一次在一个代码中使用Firefox,IE,Chrome来进行跨浏览器测试。我只能将Firefox初始化为 但无法以相同方式初始化其他浏览器。例如: 给出错误 给出错误 如何初始化IE和Chrome并在所有所需的浏览器中执行测试? 问题答案: 对于C# 加 创建一个包含浏览器名称的配置文件。实现与配置文

  • 我正在探索硒网格,用于在多个浏览器上执行测试。我已经按照在线教程配置了集线器和节点。我已经创建了一个测试脚本。 这是测试脚本的代码: 我的目标是在多个浏览器上运行此测试,我已经添加了所需的功能,如火狐, 感谢任何帮助

  • 问题内容: 我正在寻找一种推荐/最有效的方式来使Selenium测试在多个浏览器中依次执行。我正在测试的网站并不大,所以我还不需要并行解决方案。 我有一个平时测试的建立方法,以及。当然,SetUp实例将使用我要测试的任何浏览器实例化一个新对象。 因此,我想以编程方式说:该测试将依次在Chrome,IE和Firefox上运行。我怎么做? 编辑: 这可能会有所帮助。成功构建后,我们将使用CruiseC

  • 问题内容: 我正在尝试通过for循环在多个浏览器中运行相同的测试,但它始终仅在Firefox上运行。 一项有趣的观察;当我包含该参数时,它仅在Internet Explorer上运行。 Selenium Webdriver是否以这种方式工作,或者我的理解是错误的? 问题答案: 我实际上已经在Java中完成了此操作,以下对我来说效果很好: 如果您要使用其他语言编写测试,则当然需要对此进行调整,我知道