模拟浏览器,人工测试 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}"
分享到:
相关推荐
rspec-mocks 是一个 rspec 的 test-double 框架,支持 method stubs, fakes 和生成 test-doubls 和类似真的对象的预期消息。 标签:rspec
自述文件 该自述文件通常会记录启动和运行应用程序所需的所有步骤。 您可能要讲的内容: Ruby版本 系统依赖 配置 数据库创建 数据库初始化 如何运行测试套件 服务(作业队列,缓存服务器,搜索引擎等) ...
- 添加依赖到 Gemfile: `group :development, :test do gem 'rspec' end` - 执行 `bundle install` 2. **配置 RSpec**: - 创建 `.rspec` 文件来配置 RSpec 的行为。 - 可以通过 `.rspec` 文件指定默认的命令行...
Instant RSpec Test-Driven Development How-to – Free Pdf Book
group :test do gem 'rspec' end ``` **基本使用:** 1. **编写测试案例**:使用 `describe` 和 `it` 块来组织测试用例,例如: ```ruby describe "Calculator" do it "should add two numbers correctly" ...
**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 ...
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...
安装gem install rspec # for rspec-core, rspec-expectations, rspec-mocksgem install rspec-mocks # for rspec-mocks only想要与main分支对抗吗? 您还需要包括相关的RSpec存储库。 将以下内容添加到您的Gemfile ...
Fobless 键盘安全建筑物的自动访问要求带有电话号码的Redis安装使用电话号码设置输入 twilio 电话号码的请求网址运行bundle install 部署应用设置环境变量测试运行测试套件rspec test.rb配置必需的环境变量 ...
调整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
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应用编写测试的书籍,作者Noel Rappin凭借多年的经验提炼出了一...
i18n任务 i18n任务可帮助您查找和管理缺失和未使用的... 复制rspec test作为套件的一部分来测试缺失和未使用的翻译(可选): $ cp $( i18n-tasks gem-path ) /templates/rspec/i18n_spec.rb spec/ 或用于最小测试
db-query-matchers, 用于数据库查询的RSpec匹配器 db-query-matchers 用于数据库查询的RSpec匹配器。安装在你的应用程序中添加这一行,最好在你的test 组中:gem 'db-query-matchers'然后执行:bundle
### RSpec 讓你愛上寫測試 #### 前言 RSpec 是一個針對 Ruby 語言設計的測試框架,它採用了 Behaviour-Driven Development (BDD) 的方式來撰寫測試,使得測試過程變得更加自然且易讀。通過 RSpec,開發者能夠更好...
### 《RSpec Book》:行为驱动开发(BDD)方法论 #### 一、RSpec与行为驱动开发(BDD) **RSpec**是一种广泛应用于Ruby生态系统的测试框架,它支持一种称为**行为驱动开发(BDD)**的方法论。BDD不仅是一种测试方法,更...
添加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项目中,我们还可以看到TDD(Test-Driven Development)的实践。先编写测试,然后编写最小化代码以使测试通过,这是一种保证代码质量的有效方法。在TDD流程下,每个功能都伴随着一组失败的测试,直到...
`$ bundle exec rspec test.rb`是一个命令,表明这个项目使用RSpec作为测试框架。RSpec是Ruby社区广泛使用的用于行为驱动开发(BDD)的测试工具,它允许开发者以自然语言描述代码的行为。`test.rb`可能是项目中的一...
将此添加到您的Gemfile中: gem 'rspec_api_helpers'然后执行: $ bundle或将其自己安装为: $ gem install rspec_api_helpers将其包含在您的spec_helper中 RSpec . configure do | config | # ... config . ...