有没有办法将Protractor的场景分组到上下文中?

时间:2016-08-05 23:44:54

标签: protractor

我想知道是否有一种方法可以将Protractor的场景分类到像Capybara这样的环境中?

例如,如果我正在为后期隐私设置编写测试,我可以为未登录的用户创建上下文,为登录用户创建上下文,根据用户之间的关系划分为不同的场景。 另一个例子:

feature 'allows user to share' do
  let!(:post) { create :post }

  before do
    create :feed_post, user: user, post: post
    app.sign_in user
  end

  context 'with comment' do
    subject { feed.share_modal }

    before { feed.posts.first.share_post }

    scenario { is_expected.to have_content t('social_sharing.new.title') }
    scenario { is_expected.to have_button t('social_sharing.new.action') }

    context 'sharing with a comment' do
      before do
        feed.share_modal.comment_on_share 'a nice comment'
        feed.share_modal.submit_share_form
        feed.wait_until_share_modal_invisible
      end

      scenario 'closes the modal' do
        expect(feed).to have_no_share_modal
      end

      scenario 'shows shared message' do
        expect(feed.posts.first)
        .to have_content "#{user.name} shared #{post.user.name.possessive} post"
        expect(feed.posts.first).to have_content 'a nice comment'
      end
    end
  end
end

Context允许我制作规范DRY,因为我可以在其中添加一个包含在上下文中重复场景的步骤。量角器有可能吗?

1 个答案:

答案 0 :(得分:1)

对你的问题的简短回答是 - 不,在量角器中没有直接的能力,例如水豚的情境,因为你来自Rails背景,让我给一些关于量角器的简要见解:

  • Protractor是一个建立在webdriver.js之上的node.js程序,所以它的所有方法都是异步的并且返回promises。
  • 目前,量角器的默认测试框架为Jasmine2.0

现在要干你的规格,你有两个不错的选择: