gpt4 book ai didi

ruby - 如何在 ruby​​ selenium 中生成可在文本字段中使用的随机字符串

转载 作者:太空宇宙 更新时间:2023-11-03 16:41:50 25 4
gpt4 key购买 nike

我想知道如何生成随机字符串,例如TufwGfXZskHlPcYrLNKg

这将用于在我们的应用程序中创建一个新的教学类,但出于测试目的,我想为每个创建的类分配一个随机名称。

目前我使用一个保存在 application.yml 文件中的变量,例如

qa_newclass_name: 'Cucumber'

在测试期间,我将其分配给步骤,如下所示:@wait.until {@driver.find_element(:css => '#name').click}
@driver.find_element(:css => '#name').send_keys (Figaro.env.qa_newclass_name)

这将做的是将类的名称命名为“Cucumber”

不是为每个测试指定“Cucumber”,有没有一种简单的方法来生成我可以分配给#name 字段的随机值?也许这可以是一个可以生成与上面其余代码内联的字符串的函数?

当然,理想情况下,这应该使用 Ruby。

最佳答案

一个简单的方法是这样的:

require 'securerandom'

@driver.find_element(...).send_keys (SecureRandom.urlsafe_base64(5).gsub(/[^a-z ]/i, '').upcase)

正则表达式是必需的,因为 #urlsafe_base64 可能会生成 -_ 等字符。大写是必要的,因为您要定义一个常量,而小写字母可能是随机字符串的第一个字符。

没有所需模块和正则表达式的解决方案可能类似于:

@driver.find_element(...).send_keys ((5.times).map{(65 + rand(26)).chr}.join)

关于ruby - 如何在 ruby​​ selenium 中生成可在文本字段中使用的随机字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47000182/

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