Select 来自 select 列表的随机选项

Select random option from select list

如何使用页面对象从 select 列表中 select 随机选项? 我使用:

  def select_random_member
    lstMembers = self.sltMembers_element.options.map(&:index) # getting all members from select list
    lastMember = lstMembers.last
    rnmMember = rand(0..lastMember)
    self.sltMembers_element.options[rnmMember].click
  end

我看到获取每个选项的弃用警告 lstMembers = self.sltEndDate_element.options.map(&:index)

*** DEPRECATION WARNING
*** You are calling a method named index at D:/members/lib/pages/members_page.rb:58:in `map'.
*** This method does not exist in page-object so it is being passed to the driver.
*** This feature will be removed in the near future.
*** Please change your code to call the correct page-object method.
*** If you are using functionality that does not exist in page-object please request it be added.

尝试在 lstMembers 上使用 #sample:

def select_random_member
  lstMembers = self.sltMembers_element.options.map(&:index) # getting all members from select list
  self.sltEndDate_element.options[lstMembers.sample].click
end

options 方法 returns 选项元素数组。数组有一个名为 sample 的内置方法,用于选择随机项。

使用 sample 方法将是:

def select_random_member
  sltMembers_element.options.sample.click
end