Python 新手生成随机字符串



我最近开始使用风车和python来运行我的Web应用程序的自动测试。这是风车从记录我的事件中自动生成的 python 脚本:

# Generated by the windmill services transformer
from windmill.authoring import WindmillTestClient
import string
import random
    def test_recordingSuite0():
        client = WindmillTestClient(__name__)
        client.click(id=u'input-999052296848829736')
        client.type(text=u'btsr65ejdfgdjdfg', id=u'input-999052296848829736')
        client.click(id=u'input-999052296848829736-1')
        client.type(text=u'dfgdbdfgdfgjdfgjd', id=u'input-999052296848829736-1')
        client.click(name=u'_u911175390904082714')
        client.select(option=u'1', name=u'_u911175390904082714')
        client.click(value=u'1')
        client.click(id=u'input-497945674625883994')
        client.type(text=u'dfgbhdfbgxcvbz3@asdfvsevsdf54.com', id=u'input-497945674625883994')
        client.click(name=u'_u969737303932735624')
        client.radio(name=u'_u969737303932735624')
        client.type(text=u'asdg9a7e0g57wn4bgwsdfhsdfhsdfhssdhsd', id=u'input-542327653202413691')
        #client.click(name=u'submit')
        #client.waits.forPageLoad(timeout=u'20000')

我对python完全陌生,我现在正在努力学习一些语法。但是有人可以帮助我在各个字段中使输入文本随机吗?

例如:第 2 行:在我想要的一项测试

client.type(text=u'LAKJSDOGUSDGSDGS', id=u'input-999052296848829736')

在另一个:

client.type(text=u'908374098afsDGSGS', id=u'input-999052296848829736')

(随机,不同)

谢谢!

在程序的顶部,导入必要的模块,并获取要放入随机字符串中的字符列表:

import string
import random
CANDIDATE_CHARS = string.ascii_letters+string.digits  # lowercase and uppercase letters, and digits

在测试函数中,您可以创建一个字母数字字符的随机字符串,如下所示:

random_text = u''.join(random.choice(CANDIDATE_CHARS) for _ in range(16))  # 16 random characters
client.type(text=random_text, id=u'input-999052296848829736')

您正在寻找random包。它有一个shuffle方法,可以就地洗牌列表。

import string, random
def get_random_string(length):
    chars = list(string.lowercase+string.digits)
    random.shuffle(chars)
    return "".join(chars[:length])
for i in range(12):
    print get_random_string(10)
字符串

模块提供了一些方便的字符串,它们是string.uppercase,string.lowercase,string.digits,...为方便起见,您可以使用这些字符或编写自己的字符列表。 "".join(L) 会将列表 L 的所有字母分隔为零,因此您可以在一个字符串中获得字符序列。

在您的情况下,您可以使用:

client.type(text=unicode(get_random_string(20)), id=u'input-999052296848829736')

相关内容

  • 没有找到相关文章

最新更新