Selenium Ruby 报告

发布于 2024-07-26 16:40:49 字数 190 浏览 1 评论 0原文

我正在尝试使用 Selenium 和 selenium-client gem 设置测试环境。 我更喜欢单元测试风格而不是 RSpec 风格的测试。

那么我必须建立自己的报告系统吗?

如何在每个测试中不使用 begin-rescue-end 的情况下添加异常处理? 有什么方法可以使用 mixins 来做到这一点吗?

I'm trying to set the environment for testing using Selenium and selenium-client gem.
I prefer unit test style over RSpec style of tests.

Do I have to build my own system for reporting then?

How can I add exception handling without having begin-rescue-end in each test? Is there any way to do that using mixins?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

雨的味道风的声音 2024-08-02 16:40:49

我不确定我是否理解您的问题在报告方面的含义,但 selenium-client gem 可以处理 BDD 和 UnitTesting。

下面是从 ruby​​forge 页面复制的代码:

require "test/unit"
require "rubygems"
gem "selenium-client", ">=1.2.16"
require "selenium/client"

class ExampleTest < Test::Unit::TestCase
    attr_reader :browser

  def setup
    @browser = Selenium::Client::Driver.new \
        :host => "localhost",
        :port => 4444,
        :browser => "*firefox",
        :url => "http://www.google.com",
        :timeout_in_second => 60

    browser.start_new_browser_session
  end

  def teardown
    browser.close_current_browser_session
  end

  def test_page_search
            browser.open "/"
            assert_equal "Google", browser.title
            browser.type "q", "Selenium seleniumhq"
            browser.click "btnG", :wait_for => :page
            assert_equal "Selenium seleniumhq - Google Search", browser.title
            assert_equal "Selenium seleniumhq", browser.field("q")
            assert browser.text?("seleniumhq.org")
            assert browser.element?("link=Cached")
  end

end

至于异常处理,UnitTesting 使用错误消息来处理异常。

话虽这么说,我可能误解了你的问题。

I'm not sure I understand what your question means in terms of reporting but the selenium-client gem handles both BDD and UnitTesting.

Below is code copied from the rubyforge page:

require "test/unit"
require "rubygems"
gem "selenium-client", ">=1.2.16"
require "selenium/client"

class ExampleTest < Test::Unit::TestCase
    attr_reader :browser

  def setup
    @browser = Selenium::Client::Driver.new \
        :host => "localhost",
        :port => 4444,
        :browser => "*firefox",
        :url => "http://www.google.com",
        :timeout_in_second => 60

    browser.start_new_browser_session
  end

  def teardown
    browser.close_current_browser_session
  end

  def test_page_search
            browser.open "/"
            assert_equal "Google", browser.title
            browser.type "q", "Selenium seleniumhq"
            browser.click "btnG", :wait_for => :page
            assert_equal "Selenium seleniumhq - Google Search", browser.title
            assert_equal "Selenium seleniumhq", browser.field("q")
            assert browser.text?("seleniumhq.org")
            assert browser.element?("link=Cached")
  end

end

As for exception handling, UnitTesting handles the exceptions with an Error message.

That being said, I may have misunderstood your question.

獨角戲 2024-08-02 16:40:49

Extent 的初始构建可用于 Ruby。 您可以在此处查看示例。 最新源代码位于 github

示例代码:

# main extent instance
extent = RelevantCodes::ExtentReports.new('extent_ruby.html')

# extent-test
extent_test = extent.start_test('First', 'description string')

# logs
extent_test.log(:pass, 'step', 'details')
extent.end_test(extent_test)

# flush to write everything to html file
extent.flush

Initial build of Extent is available for Ruby. You can view the sample here. Latest source is available at github.

Sample code:

# main extent instance
extent = RelevantCodes::ExtentReports.new('extent_ruby.html')

# extent-test
extent_test = extent.start_test('First', 'description string')

# logs
extent_test.log(:pass, 'step', 'details')
extent.end_test(extent_test)

# flush to write everything to html file
extent.flush
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文