如何使用 page.find 通过 rspec 测试查找变量

2024-01-01

我有一个测试用例,我的大多数其他页面至少有一个字段只是纯文本,可以使用以下方式找到:

page.find("tr", text: "What I filled in").find("a.tick").click

本页所有选项都是下拉选择,那么如何找到变量呢? 其余语法如下所示:

it "edits person job and redirects to index" do
    expect(p = FactoryGirl.create(:person)).to be_valid()
    expect(j = FactoryGirl.create(:job)).to be_valid()
    visit new_job_path
    select p.name, from: "person_job_person_id"
    select p.name, from: "person_job_job_id"
    click_button "create person job"
    page.find("tr", p).find("a.tick").click
end

找不到要点击的p?


如果您想点击p元素,你可以轻松地做到这一点CSS选择器 or xpath:

find(:css, 'the css selector of your p element').click

or

find(:xpath, 'the xpath of your p element').click

例如

find(:css, 'body > div.layout > div > button').click

如果您正在使用Chrome,您可以通过检查您的元素轻松找到它们,右键单击他的代码并复制CSS选择器 or the xpath.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 page.find 通过 rspec 测试查找变量 的相关文章

  • 将 Rack::Deflater 插入机架中的哪个位置?

    我目前有以下内容 use Rack Rewrite use Rack Cache verbose gt true metastore gt memcached localhost 11211 rack cache meta entityst
  • 用于验证目的的动态查找方法

    我正在使用 Ruby on Rails 3 0 7 我想在运行时查找一些记录以进行验证 但为该查找方法传递 设置一个值 也就是说 在我的班级中 我有以下内容 class Group lt lt ActiveRecord Base valid
  • 如何全局忽略 UTF-8 字符串中的无效字节序列?

    我有一个 Rails 应用程序从 Rails 版本 1 以来的迁移中幸存下来 我想忽略all其上的无效字节序列 以保持向后兼容性 我不知道输入编码 示例 gt Men xFC split n ArgumentError invalid by
  • 回形针:样式取决于模型(has_many 多态图像)

    我已将模型设置为使用多态图像模型 这工作正常 但是我想知道是否可以更改每个模型的 styles 设置 找到了一些使用 STI 模型 Art has many images as gt imageable Image belongs to i
  • db:schema:load 与 db:migrate 使用 capistrano

    我有一个 Rails 应用程序 我正在将其移动到另一台服务器 我认为我应该使用 db schema load 来创建 mysql 数据库 因为这是推荐的 我的问题是我正在使用 capistrano 进行部署 并且它似乎默认为 rake db
  • ror 中的多种布局

    昨天刚开始使用 Ruby on Rails 在我的 layouts application html erb 中 我有 div class conta div
  • 使用设计宝石导轨注销用户

    在管理部分 我显示当前登录用户的列表 现在管理员可以选择一个或多个用户并销毁他们的会话 注销他们 我不知道从哪里开始 请帮助我 您可以使用sign out通过传入用户对象在控制器操作中的方法 Make sure only admins ca
  • 使用 Mechanize (Ruby) 进行基本身份验证和表单身份验证

    我正在尝试登录公司内部网上的一个站点 该站点具有基本身份验证弹出对话框和基于表单的身份验证 这是我正在使用的代码 导致 401 gt Net HTTPUnauthorized 错误 require rubygems require mech
  • 如何在 Ruby 中创建自定义排序方法

    我想指定一个自定义块方法 通过评估两个属性来对对象数组进行排序 然而 经过多次搜索 我没有找到任何没有的例子 lt gt 操作员 我想比较a to b if a x less than b x return 1 if a x greater
  • 在 ruby​​ 中创建登录会话时理解“current_user”概念

    我正在阅读很棒的 Michael Hartl 教程来构建 ruby 应用程序here http ruby railstutorial org chapters sign in sign out sec 3acurrent user 我试图理
  • URL 路由中的点与命名空间 Rails 3.1

    我有这个路线 rb root to gt posts index devise for users controllers gt omniauth callbacks gt users omniauth callbacks resource
  • GUI 测试工具 PyUseCase 与 Dogtail 相比如何?

    GUI测试工具如何Py用例 http pypi python org pypi PyUseCase重命名为故事文本 http pypi python org pypi StoryText 相比于Dogtail http en wikiped
  • 未知属性:user_id

    我在执行 current user stories build 期间收到错误未知属性 user id class User lt ActiveRecord Base has many stories class name Story for
  • 保护 REST 和 JSON

    我想利用 RESTful 架构构建提供 JSON 数据的 Web 服务 但我只想要我自己的客户端应用程序可以从我的网络服务请求 基本上 我的 Web 服务包含不供公众使用的敏感数据 但我想以这种方式构建它 以便我可以构建连接到我的 Web
  • 用于 S3 私有文件的 ActiveStorage

    到目前为止 我一直在使用 Paperclip 将一些文件上传到 S3 其中一些文件不是公开的 Paperclip 允许通过以下位将一些文件作为私有文件上传 has attached file image styles large 2000x
  • <%=h ... %> 在 Rails 中意味着什么?

    I found here http api rubyonrails org classes ActionView Helpers RecordTagHelper html以下语法 什么是h means 它用于转义标签的输出以避免跨站点脚本
  • 如何在 JMeter 中显示实际循环计数

    我们可以通过以下方式显示实际线程 threadNum 实际循环计数有类似的东西吗 您可以使用 jm Thread Group idx 获取当前循环迭代 jm Thread Group idx 请注意 这是 JMeter 5 中一般增强功能的
  • Gem 在 irb 中可用,但在 Rails 控制台中不可用

    我正在尝试在我的 Rails 项目中使用 RedCloth gem 当我使用irb我可以加载宝石 require rubygems require RedCloth 它工作正常 但是当我在 Rails 控制台中尝试相同的操作时 我收到一条错
  • 未知错误:Chrome 无法启动:异常退出

    当我使用 chromedriver 对 Selenium 运行测试时 出现此错误 selenium common exceptions WebDriverException Message unknown error Chrome fail
  • 查找 Rails 应用程序中未使用的代码

    如何查找正在运行和未运行的代码生产中 该应用程序经过充分测试 但还有很多测试unused代码 因此 他们在运行测试时得到覆盖 我想重构并清理这个烂摊子 它一直在浪费我的时间 我有很多后台工作 这就是为什么我希望生产环境来指导我 在 Hero

随机推荐

  • WCF 服务。在哪里添加。 .svc 文件

    我创建了一个新的 WCF 服务库 类型项目 我已经为我的合同创建了一个文件和一个实现该接口的文件 这两个文件的扩展名为 cs 请谁能告诉我如何食用它 我的意思是我应该在哪里添加我的 svc 文件 您必须创建另一个项目 Web 应用程序或 W
  • Xamarin Forms Android 透明状态栏

    我创建了一个 Xamarin Forms 项目 但无法将 Android 状态栏颜色更改为透明 我在 MainActivity 的 OnCreate 方法中以编程方式更改颜色 如下所示 if Build VERSION SdkInt gt
  • 启动默认编辑器(如“webbrowser”模块)

    有没有一种简单的方法可以从 Python 命令行工具启动系统默认编辑器 例如网页浏览器 http docs python org library webbrowser html module 在 Windows 下 您可以简单地 执行 该文
  • 使用 WinDbg 查找堆上所有 X 类型的 C++ 对象

    我正在尝试查找所有类型的对象module SomeClass在堆中 我认为这样的命令会起作用 gt s v 0 L 0xfffffff module SomeClass 但可惜 事实并非如此 如果我知道如何找到该类的 vtable 地址 我
  • 缓冲区溢出在 gdb 中有效,但没有它就不行

    我使用 CentOS 6 4 32 位 并试图在程序中导致缓冲区溢出 在 GDB 中它可以工作 这是输出 root localhost bufferoverflow gdb stack GNU gdb GDB Red Hat Enterpr
  • 为什么可以使用额外参数调用 Boost.Bind 函数?

    include
  • CakePHP 验证不起作用

    我是 cakephp 的新手 我需要验证表单 这是代码 控制器
  • 颜色检测算法 - 我应该怎么做?

    我在设计颜色检测系统方面有点陷入困境 我不太想出一种轻松完成它的方法 基本上 我有一个图像库 我想按颜色排序 因此 如果用户指定 按蓝色排序 则蓝色最多的图像将出现在结果的顶部 蓝色最少的图像将出现在底部 问题是图像并不全是一种颜色 所以它
  • c 中的 doxygen:定义分组

    我正在使用 doxygen 记录 C 代码 为了使文档更具可读性 我希望至少使用 defgroup 和 ingroup 将每个 c h 文件对中的代码添加到一组 在这些组中 我想使用 name 块将一些定义分组 在一起 文件 页面中的结果看
  • ASP.NET Core 中的声明问题(更新数据库后用户仍然有一些声明)

    我正在学习 asp net core 但我陷入了困境 我会尝试以某种方式解释 问题在于用户索赔 当我登录网站时 用户可以创建和删除声明并且所有工作都可以进行 但是 当该用户更改他无法删除某些内容时 更新数据库后他仍然可以 在数据库中删除消失
  • 禁用sequelize.js中的updatedAt(更新日期)字段

    I used sequelize auto生成模式 我尝试使用findOne 我得到了这个错误 未处理的拒绝 SequelizeDatabaseError 列名无效 更新时间 在我的数据库表中 没有字段updatedAt 例如我的表名是Us
  • 直接从模型实例化查询构建器

    当我做类似的事情时SomeModel with user 它返回一个Query Builder实例 我怎样才能获得这个实例而不需要调用with 或类似的 例如 我尝试过 new SomeModel 但它显然会返回我的模型的实例 而不是查询生
  • GNU Makefiles 中是否有类似 python 装饰器的机制?

    我发现自己在 Makefile 中声明 GNU make 目标是假的两种可能性之间有点左右为难 一是一次性宣布所有假货 PHONY targ1 targ2 targ3 targ1 targ2 targ3 其优点是 对我来说 更具可读性并且更
  • 使用 OR 运算符的复合查询 flutter 和 firebase [重复]

    这个问题在这里已经有答案了 我正在创建一个 flutter 应用程序 它应该查询 Firestore 集合并在满足两个条件时返回结果 这是我的代码 Stream
  • Flutter ImageIcon 显示图像白色或黑色

    所以我一直在尝试使用我存储在资产中的图片并将其用作徽标 这样我就可以将徽标制作成动画 而不仅仅是将其作为静态图片 但徽标始终只显示白色 或者当我尝试将其包裹并将颜色设置为空时 它会显示全黑色 所以想知道如何让它显示我的原始图像 new Ic
  • 如何通过套接字共享 Perl 数据结构?

    在套接字中我编写了客户端服务器程序 首先 我尝试在其中发送普通字符串 它发送得很好 之后 我尝试将哈希值和数组值从客户端发送到服务器 再将服务器发送到客户端 当我使用 Dumper 打印这些值时 它只提供参考值 我应该怎么做才能获取客户端服
  • Android 以编程方式在消息应用程序中插入具有不正确时间戳的短信

    我尝试使用未记录的内容提供程序 content sms 将短信插入收件箱 并且插入成功 然后我在消息应用程序中检查新插入的消息 但是显示的时间始终是插入完成的实时时间 而不是我在 ContentValues 中指定的时间 单击并查看消息线程
  • PyQt5 - 撤消实施

    我需要在此小部件中实现撤消功能 使用组合键 Ctrl Z 激活 我可以在传递给构造函数的输入中的图像上绘制线条 因此 我们的想法是从行列表中删除最后一项 我每次绘制一行时都会向此列表中添加一条行 并在按 Ctrl Z 时重新绘制所有其他行
  • 如何在 SwiftUI 中显示来自数据源(如 UITableView)的视图列表

    在 SwiftUI 中 我们有List代表可重复使用的物品 就像UITableView in UIKit 静态列表的构建如下 List Text cell Text cell Text cell Text cell 但好像是这样不可重复使用
  • 如何使用 page.find 通过 rspec 测试查找变量

    我有一个测试用例 我的大多数其他页面至少有一个字段只是纯文本 可以使用以下方式找到 page find tr text What I filled in find a tick click 本页所有选项都是下拉选择 那么如何找到变量呢 其余