class Playwright::Scene
Playwright::Scene
¶ ↑
Scene
is the service layer between your test and page object models. It allows common interactions to be duplicated in tests without letting the tests know too much about the page.
class PurchaseProduct < Playwright::Scene sender_accessor :buyer def purchase_product(product) LoginHelper.login_as(buyer) ProductPage.purchase(product.id) stage.orders.find_or_add(product.orders.last) end end
Attributes
receiver[RW]
sender[RW]
stage[R]
Public Class Methods
new(stage, sender, receiver)
click to toggle source
# File lib/playwright/scene.rb, line 21 def initialize(stage, sender, receiver) @stage = stage @sender = sender @receiver = receiver end
receiver_accessor(name)
click to toggle source
Aliases the receiver
method to better describe who is receiving the action.
class OrderScene < Playwright::Scene receiver_accessor :seller def deliver_order(order) LoginHelper.login_as(seller) end end
# File lib/playwright/scene.rb, line 52 def self.receiver_accessor(name) define_method(name, instance_method(:receiver)) end
sender_accessor(name)
click to toggle source
Aliases the sender
method to better describe who the action is coming from.
class OrderScene < Playwright::Scene sender_accessor :buyer def purchase_product(product) LoginHelper.login_as(buyer) end end
# File lib/playwright/scene.rb, line 37 def self.sender_accessor(name) define_method(name, instance_method(:sender)) end