gpt4 book ai didi

ruby-on-rails - 包含文件 ruby Selenium

转载 作者:太空宇宙 更新时间:2023-11-03 18:23:59 24 4
gpt4 key购买 nike

我有多个用于 selenium-webdriver 的 ruby​​ 测试用例,所有文件都共享相同的函数。有没有办法创建一个全局文件并将文件包含到这些测试用例中,而不是一遍又一遍地输入它们

例如 - 我创建了一个文件 setup.rb

def setup

@driver = Selenium::WebDriver.for :firefox
wait = Selenium::WebDriver::Wait.new(:timeout => 10)
end

然后在我的 test_file.rb 中开始

require setup

setup
@driver.find_element(:xpath => '//span[text()="войти"]').click

有错误

NoMethodError:
undefined method `find_element' for nil:NilClass

最佳答案

将其从实例变量更改为全局变量。让它成为 $driver 而不是 @driver ,你应该不会有问题。将其更改为...

def self_setup

$driver = Selenium::WebDriver.for :firefox
wait = Selenium::WebDriver::Wait.new(:timeout => 10)
end

然后

require "./setup.rb"

setup.setup
$driver.find_element(:xpath => '//span[text()="войти"]').click

那应该行得通。不过,在查找该 xpath 之前,您可能希望先访问一个页面。安装程序只会打开一个新的 firefox webdriver 实例。我还建议更改 setup.rb 的名称,以便它可以是 foo.setup 而不是 setup.setup。我将 Lib.rb 用于我希望能够定期调用的方法,例如一个是 Lib.signin_admin

希望这对你有用。

关于ruby-on-rails - 包含文件 ruby Selenium ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13840923/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com