首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >动态页面URL

动态页面URL
EN

Stack Overflow用户
提问于 2012-05-09 14:30:40
回答 3查看 2K关注 0票数 3

我有一个具有动态URL的页面。让我们称它为查看post页面。post 1的URL为site.com/post/1,post 2的URL为site.com/post/2

这就是我现在所做的,以检查我是否在正确的页面上。

这一页:

代码语言:javascript
复制
class ViewPostPage
  include PageObject

  def self.url
    "site.com/post/"
  end
end

黄瓜步骤:

代码语言:javascript
复制
on(ViewPostPage) do |page|
  @browser.url.should == "#{page.class.url}#{@id}"
end

有更好的办法吗?您是否会费心检查整个URL,或者只检查site.com/post/部分?

我正在使用最新的页对象 gem (0.6.6)。

更新

更大的问题是直接访问具有动态URL的页面。

这一页:

代码语言:javascript
复制
class ViewPostPage
  include PageObject

  def self.url
    "site.com/post/"
  end
  page_url url
end

黄瓜步骤:

代码语言:javascript
复制
visit ViewPostPage

我现在要做的是将Cucumber步骤改为:

代码语言:javascript
复制
@browser.goto "#{ViewPostPage.url}#{@id}"

如果有一种方法可以让页面知道它的ID,那就太好了,但是我还没有想出如何去做。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-05-09 19:33:24

您可以使用current_url方法获取页面的url。在上面的测试中,您是否试图确定您是否在正确的页面上?如果是这样的话,我可能建议使用两种“预期”方法中的一种-- expected_title和expected_element。

如果您需要动态导航到url,那么page_url方法很可能不是您的选择。相反,您可以尝试在页面中添加一个执行如下操作的方法:

代码语言:javascript
复制
class ViewPostPage
  include PageObject

  URL = "site.com/post/"

  expected_title  "The expected title"

  def navigate_to_post_with_id(id)
    navigate_to "#{URL}/#{id}"
  end

end

在你的测试中

代码语言:javascript
复制
on_page(ViewPostPage) do |page|
  page.navigate_to_post_with_id @id
  page.should have_expected_title
end

如果这有帮助的话请告诉我。

票数 5
EN

Stack Overflow用户

发布于 2013-10-04 09:25:11

有一个选项可以检查中的动态URL。

使用以下代码:

类ViewPostPage 包括PageObject expected_url“预期的URL”,去初始化has_expected_url?结束 结束

它会帮你的

票数 1
EN

Stack Overflow用户

发布于 2012-05-09 14:47:59

据我所知,#page_url用于在页面对象初始化的同时打开相应的页面。要验证您在正确的页面上,可以尝试使用#expected_title方法。

也许这对你有用。当符号被传递给#page_url时,它会调用相应的方法,所以最好使用它。我还没试过,但这里有几个链接给你。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10518196

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档