`

Rspec Test

阅读更多
模拟浏览器,人工测试 http://hlee.iteye.com/blog/768459

1. 文本框填充:

   直接填充   :    
 fill_in("#{@user.id}_name",:with=>"jdo")  


   通过节点赋值 :  
find(:xpath,"//html/body/div[2]/div[2]/div/div/div[3]").set("123456")

2. 点击操作超链接

    点击元素: 通过Id 找到名为tab_user 的元素点击    
find(:id,"tab_user").click


    直接点击 'edit' 的超链接 
 find_link("edit").click 


3. 点击按钮

 find_button('Submit').click

  click_button('submit')


4. test confirm dialog 确认对话框

page.evaluate_script('window.confirm = function() { return true; }')
page.click('Remove')

5. 判断确认对话框返回值
 When /^I (accept|dismiss) the "([^"]*)" alert$/ do |action, text|
  alert = page.driver.browser.switch_to.alert
  alert.text.should eq(text)
  alert.send(action)
   end

  it "更新用户密码--成功" do
   
visit "/orgunits"
    find(:id,"tab_user").click
    find_link("chgpwd").click
    page.should have_content("为用户“#{@user.login}”设置新的密码")
    find(:xpath,"//html/body/div[2]/div[2]/div/div/div[2]/input").set("123456")
    find(:xpath,"//html/body/div[2]/div[2]/div/div/div[3]/input").set("123456")
    find(:xpath, '//html/body/div[2]/div[2]/div[2]/div/a').click
    sleep Capybara.default_wait_time  异步休眠, 等待返回结果
    alert =page.driver.browser.switch_to.alert
    assert  alert.text.should == "更新密码成功"
  end   

6. 判断内容
判断当前路径:
page.current_path.should==url
    page.should have_content("表单显示名")
    page.should_not have_xpath('link')
    page.should_not have_content("Show")

7.  
 page.select 'entos', :from => 'flex_table_orgunit_id'
      page.choose("flex_table_for_workflow_1")

8.
page.evaluate_script('window.confirm = function() { return true; }')

9.上传文件输入
 Dir["/home/jidong/Downloads/财务部/2.xsn"].each { |f|
      page.attach_file 'file' , f
      page.click_button "Upload"
      page.should have_content("表单名")
      page.click_button "Submit"
      page.should have_content("视图")
    }

10. cannot fill in, no text field, text area or password field with id, name, or label
11. 判断该元素是否存在通过xpath
 page.should  have_no_xpath("//html/body/div/div[4]/div/table/tbody/tr/td[2]/div/div/div/div[2]/div[4]/div/div/div[2]/div[2]/div/div")
      page.find(:xpath,"//html/body/div/div[4]/div/table/tbody/tr/td[2]/div/div/div/div[2]/div/div/div/div/div[2]/div/div").text.should_not=="#{@orgunit.name}"

分享到:
评论

相关推荐

    RSpectest-double框架rspec-mocks.zip

    rspec-mocks 是一个 rspec 的 test-double 框架,支持 method stubs, fakes 和生成 test-doubls 和类似真的对象的预期消息。 标签:rspec

    RspecTest:Rspecのテスト

    自述文件 该自述文件通常会记录启动和运行应用程序所需的所有步骤。 您可能要讲的内容: Ruby版本 系统依赖 配置 数据库创建 数据库初始化 如何运行测试套件 服务(作业队列,缓存服务器,搜索引擎等) ...

    rspec 入门者学习

    - 添加依赖到 Gemfile: `group :development, :test do gem 'rspec' end` - 执行 `bundle install` 2. **配置 RSpec**: - 创建 `.rspec` 文件来配置 RSpec 的行为。 - 可以通过 `.rspec` 文件指定默认的命令行...

    InstantRSpecTestDrivenDevelopmentHowtoFreePdfBook.pdf 英文原版

    Instant RSpec Test-Driven Development How-to – Free Pdf Book

    Pragmatic.The RSpec Book.2010.pdf

    group :test do gem 'rspec' end ``` **基本使用:** 1. **编写测试案例**:使用 `describe` 和 `it` 块来组织测试用例,例如: ```ruby describe "Calculator" do it "should add two numbers correctly" ...

    RSpec.Essentials

    **RSpec Essentials** is not just a technical manual but also a practical guide that equips developers with the knowledge and skills needed to effectively test their Ruby applications. Whether you are ...

    The RSpec Book 正式版 非beta

    RSpec supports Test Driven Development in Ruby through the BDD lens, keeping your focus on design and documentation while also supporting thorough testing and quick fault isolation. Cucumber, RSpec's...

    rspec-mocks:RSpec的“ test double”框架,支持存根和模拟

    安装gem install rspec # for rspec-core, rspec-expectations, rspec-mocksgem install rspec-mocks # for rspec-mocks only想要与main分支对抗吗? 您还需要包括相关的RSpec存储库。 将以下内容添加到您的Gemfile ...

    fobless:键盘安全系统的自动访问

    Fobless 键盘安全建筑物的自动访问要求带有电话号码的Redis安装使用电话号码设置输入 twilio 电话号码的请求网址运行bundle install 部署应用设置环境变量测试运行测试套件rspec test.rb配置必需的环境变量 ...

    TuneUpPlistToJunit:将 tuneup.js 生成的 UIAutomation Plist 文件处理为 JUnit 格式

    调整Plist到Junit ... $ rspec test/tuneup_plist_to_junit_utils_spec.rb 用法 要使用,只需使用 $ tuneup_plist_to_junit_parser Usage: TuneUpPlistToJunit.rb [options] Specific options: -i, --input FIL

    Ruby-RSpec和Minitest匹配器来预防N1查询问题

    test 'prevents N+1 queries' do assert_query_count(2) do User.all.each(&:posts) end end ``` 这个自定义断言会在代码块执行后比较实际的查询次数与预期值,如果不匹配,测试将失败。 除了测试工具,我们还...

    Rails 4 Test Prescriptions

    ### Rails 4 Test Prescriptions — 构建健康代码库 #### 一、书籍概述与价值 《Rails 4 Test Prescriptions》是一本专注于教授开发者如何为Rails应用编写测试的书籍,作者Noel Rappin凭借多年的经验提炼出了一...

    i18n任务:针对Ruby i18n的静态分析管理翻译和本地化

    i18n任务 i18n任务可帮助您查找和管理缺失和未使用的... 复制rspec test作为套件的一部分来测试缺失和未使用的翻译(可选): $ cp $( i18n-tasks gem-path ) /templates/rspec/i18n_spec.rb spec/ 或用于最小测试

    db-query-matchers, 用于数据库查询的RSpec匹配器.zip

    db-query-matchers, 用于数据库查询的RSpec匹配器 db-query-matchers 用于数据库查询的RSpec匹配器。安装在你的应用程序中添加这一行,最好在你的test 组中:gem 'db-query-matchers'然后执行:bundle

    RSpec 讓你愛上寫測試

    ### RSpec 讓你愛上寫測試 #### 前言 RSpec 是一個針對 Ruby 語言設計的測試框架,它採用了 Behaviour-Driven Development (BDD) 的方式來撰寫測試,使得測試過程變得更加自然且易讀。通過 RSpec,開發者能夠更好...

    The Rspec Book -- BDD methodology

    ### 《RSpec Book》:行为驱动开发(BDD)方法论 #### 一、RSpec与行为驱动开发(BDD) **RSpec**是一种广泛应用于Ruby生态系统的测试框架,它支持一种称为**行为驱动开发(BDD)**的方法论。BDD不仅是一种测试方法,更...

    rspec-rails:适用于Rails 5+的RSpec

    添加rspec-rails ,以两个:development和:test组的应用程式中Gemfile : # Run against the latest stable releasegroup :development , :test do gem 'rspec-rails' , '~> 4.0.2'end# Or, run

    RSpec-bank-main.rar

    在RSpec-bank项目中,我们还可以看到TDD(Test-Driven Development)的实践。先编写测试,然后编写最小化代码以使测试通过,这是一种保证代码质量的有效方法。在TDD流程下,每个功能都伴随着一组失败的测试,直到...

    mob20210311

    `$ bundle exec rspec test.rb`是一个命令,表明这个项目使用RSpec作为测试框架。RSpec是Ruby社区广泛使用的用于行为驱动开发(BDD)的测试工具,它允许开发者以自然语言描述代码的行为。`test.rb`可能是项目中的一...

    rspec_api_helpers:Rspec API的测试助手

    将此添加到您的Gemfile中: gem 'rspec_api_helpers'然后执行: $ bundle或将其自己安装为: $ gem install rspec_api_helpers将其包含在您的spec_helper中 RSpec . configure do | config | # ... config . ...

Global site tag (gtag.js) - Google Analytics