WATIR:如何在一步定义中使用两个或多个visit()?

时间:2015-04-08 08:51:42

标签: ruby cucumber watir watir-webdriver

  Background:
    Given the Seller has generated a coupon
      | pre-requisite                        | status|
      | Coupon generated                     | Yes   |
      | Activate Coupon                      | Yes   |

    And I login as a customer

  Scenario: Customer can use coupon for shopping
    When I am on an existing product created by Seller
    When I click on insert coupon code
    Then xyz abc qwert lorem ipsum

这是我的.feature文件和scenario。在此.feature文件中,用户登录&需要退出。 当第三次要求用户登录时(在scenario中),它不会使用visit进入登录页面。

这些是需要登录时的实例:

  1. 鉴于卖方已生成优惠券#Seller登录以生成优惠券
  2. 我以客户登录
  3. 当我使用卖家创建的现有产品时#
    卖方再次登录以创建产品,然后客户登录并转到产品页面。在此步骤visit无效。
  4. 登录时我正在使用: visit(LoginPage).login_as_sellervisit(LoginPage).login_as_customer这些方法的写法如下:

    def login_as_seller
        if $if_logged_in == true
          sign_out
        end
        login(FigNewton.seller_userid, FigNewton.seller_password)
      end
    

    LoginPage rb文件:

    class LoginPage
      include PageObject
    
      page_url("#{FigNewton.base_url}/login")
    
     def login_as_seller
        if $if_logged_in == true
              sign_out
            end
            login(FigNewton.seller_userid, FigNewton.seller_password)
          end
    end
    

    我注意到,如果在login中调用方法Background,那么它可以正常工作,但在Scenario它没有,但为什么会发生这种情况我不会知道。请帮帮我。我读了page-object gem seems not working但没有帮助。

0 个答案:

没有答案