我最近开始使用windmill和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')
(随机,不同)
谢谢!
答案 0 :(得分:6)
在程序的顶部,导入必要的模块,然后获得要放在随机字符串中的字符列表:
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')
答案 1 :(得分:-1)
您正在寻找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')