我正在使用unittest和selenium来自动化我的浏览器测试。
如何进行多次运行测试,用户创建票证。票证必须有一个标题名称,每次我运行测试时我都希望标题名称是随机的。
我想格式:“测试票,1 |测试票,2 ......”
答案 0 :(得分:7)
faker模块提供了一些功能来填充几种不同类型的数据:
import faker
f = faker.Faker()
In [11]: f.
f.city f.full_address f.phonenumber f.zip_code
f.company f.last_name f.state
f.email f.lorem f.street_address
f.first_name f.name f.username
In [11]: f.city()
Out[11]: u'Treyview'
如果您要随机 test ,我建议您随机生成seed(并记录它),这样您就可以重新创建任何失败的测试。 你不想要的是失败的测试,但不清楚为什么(即如果再次测试,使用不同的随机值,则通过)。
答案 1 :(得分:1)
如果你只需要字符串Test ticket,1 ...
,那就是:
from random import randint
randomString = "Test ticket, " + randint(min,max)
如果要生成随机字符串,可以使用
''.join(random.choice(string.ascii_uppercase + string.digits) for x in range(max))
您也可能想要考虑防止字符串相等。
在这种情况下,您可以创建range(min,max)
并使用random.shuffle()
答案 2 :(得分:0)
您可以在测试中定义以下功能:
import random, string
def random_word(self, length=6, chars=string.ascii_lowercase):
return ''.join(random.choice(chars) for i in range(length))
def random_id(self, size=6, chars=string.ascii_uppercase + string.digits):
return ''.join(random.choice(chars) for _ in range(size))
def random_number(self, length=3):
return ''.join(random.choice(string.digits) for i in range(length))
和类似的。
另见:
答案 3 :(得分:0)
faker已被弃用,您应该改为使用fake-factory。
pip install fake-factory
使用与以前相同的方式:
from faker import Factory
fake = Factory.create()
# OR
from faker import Faker
fake = Faker()
fake.name()
# 'Lucy Cechtelar'
或使用本地化数据(例如,生成意大利语名称):
from faker import Factory
fake = Factory.create('it_IT')
for _ in range(0,10):
print fake.name()
> Elda Palumbo
> Pacifico Giordano
> Sig. Avide Guerra
> Yago Amato
> Eustachio Messina
> Dott. Violante Lombardo
> Sig. Alighieri Monti
> Costanzo Costa
> Nazzareno Barbieri
> Max Coppola