smartpush 1.4.7__py3-none-any.whl → 1.4.8__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
File without changes
@@ -0,0 +1,679 @@
1
+ from faker import Faker
2
+ from user_agents import parse
3
+ import random
4
+
5
+ # 中文类型faker
6
+ fake = Faker(locale='zh_CN')
7
+ fake_en = Faker(locale='en_US')
8
+
9
+
10
+ # print("可以fake的内容:",dir(fake))
11
+
12
+ # """地理信息类"""
13
+ # city_suffix = fake.city_suffix() # 生成市、县的后缀,例如:'市'
14
+ # country = fake.country() # 生成国家名称,例如:'中国'
15
+ # country_code = fake.country_code() # 生成国家编码,例如:'CN'
16
+ # district = fake.district() # 生成区的名称,例如:'朝阳区'
17
+ # geo_coordinate = fake.geo_coordinate() # 生成地理坐标,例如:'(31.692720, 88.092434)'
18
+ # latitude = fake.latitude() # 生成纬度,例如:31.692720
19
+ # longitude = fake.longitude() # 生成经度,例如:88.092434
20
+ # postcode = fake.postcode() # 生成邮编,例如:'100000'
21
+ # province = fake.province() # 生成省份名称,例如:'北京市'
22
+ # address = fake.address() # 生成详细地址,例如:'北京市朝阳区'
23
+ # street_address = fake.street_address() # 生成街道地址,例如:'人民路123号'
24
+ # street_name = fake.street_name() # 生成街道名,例如:'人民路'
25
+ # street_suffix = fake.street_suffix() # 生成街、路的后缀,例如:'路'
26
+
27
+ # """基础信息类"""
28
+ # ssn = fake.ssn() # 生成身份证号,例如:'510181199503077777'
29
+ # bs = fake.bs() # 随机公司服务名,例如:'技术支持'
30
+ # company = fake.company() # 随机公司名(长),例如:'北京百度在线网络技术有限公司'
31
+ # company_prefix = fake.company_prefix() # 随机公司名(短),例如:'百度'
32
+ # company_suffix = fake.company_suffix() # 公司性质,例如:'信息有限公司'
33
+ # credit_card_expire = fake.credit_card_expire() # 随机信用卡到期日,例如:'12/25'
34
+ # credit_card_full = fake.credit_card_full() # 生成完整信用卡信息,例如:'VISA 16 digits 04/24 CVV:022'
35
+ # credit_card_number = fake.credit_card_number() # 信用卡号,例如:'4539853637484'
36
+ # credit_card_provider = fake.credit_card_provider() # 信用卡类型,例如:'VISA 16 digit'
37
+ # credit_card_security_code = fake.credit_card_security_code() # 信用卡安全码,例如:'356'
38
+ # job = fake.job() # 随机职位,例如:'市场营销经理'
39
+ # first_name_female = fake.first_name_female() # 女性名,例如:'丽娜'
40
+ # first_name_male = fake.first_name_male() # 男性名,例如:'伟'
41
+ # last_name_female = fake.last_name_female() # 女姓,例如:'王'
42
+ # last_name_male = fake.last_name_male() # 男姓,例如:'张'
43
+ # name = fake.name() # 随机生成全名,例如:'张丽'
44
+ # name_female = fake.name_female() # 男性全名,例如:'杨丽'
45
+ # name_male = fake.name_male() # 女性全名,例如:'王伟'
46
+ # phone_number = fake.phone_number() # 随机生成手机号,例如:'13912345678'
47
+ # phonenumber_prefix = fake.phonenumber_prefix() # 随机生成手机号段,例如:'139'
48
+
49
+ # """计算机基础、Internet信息类、Email"""
50
+ # ascii_company_email = fake.ascii_company_email() # 随机ASCII公司邮箱名,例如:'example_company'
51
+ # ascii_email = fake.ascii_email() # 随机ASCII邮箱,例如:'example@example.com'
52
+ # company_email = fake.company_email() # 随机公司邮箱
53
+ # email = fake.email() # 随机邮箱
54
+ # safe_email = fake.safe_email() # 安全邮箱
55
+
56
+
57
+ # """网络基础信息类"""
58
+ # domain_name = fake.domain_name() # 生成域名,例如:'smith.com'
59
+ # domain_word = fake.domain_word() # 生成域词(即,不包含后缀),例如:'example'
60
+ # ipv4 = fake.ipv4() # 随机IP4地址,例如:'192.168.1.1'
61
+ # ipv6 = fake.ipv6() # 随机IP6地址,例如:'2001:0db8:85a3:0000:0000:8a2e:0370:7334'
62
+ # mac_address = fake.mac_address() # 随机MAC地址,例如:'5e:ff:56:8c:13:5f'
63
+ # tld = fake.tld() # 网址域名后缀(.com,.net.cn,等等,不包括.),例如:'com'
64
+ # uri = fake.uri() # 随机URI地址,例如:'http://www.example.com/path/to/page'
65
+ # uri_extension = fake.uri_extension() # 网址文件后缀,例如:'.html'
66
+ # uri_page = fake.uri_page() # 网址文件(不包含后缀),例如:'index'
67
+ # uri_path = fake.uri_path() # 网址文件路径(不包含文件名),例如:'/path/to'
68
+ # url = fake.url() # 随机URL地址,例如:'http://www.example.com'
69
+ # user_name = fake.user_name() # 随机用户名,例如:'john_doe'
70
+ # image_url = fake.image_url() # 随机URL地址,例如:'http://www.example.com/image.jpg'
71
+
72
+ # """
73
+ # 浏览器信息类
74
+ # """
75
+ # chrome = fake.chrome() # 随机生成Chrome的浏览器user_agent信息
76
+ # firefox = fake.firefox() # 随机生成FireFox的浏览器user_agent信息
77
+ # internet_explorer = fake.internet_explorer() # 随机生成IE的浏览器user_agent信息
78
+ # opera = fake.opera() # 随机生成Opera的浏览器user_agent信息
79
+ # safari = fake.safari() # 随机生成Safari的浏览器user_agent信息
80
+ # linux_platform_token = fake.linux_platform_token() # 随机Linux信息
81
+ # user_agent = fake.user_agent() # 随机user_agent信息
82
+
83
+ # """
84
+ # 数字类
85
+ # """
86
+ # numerify = fake.numerify() # 三位随机数字,例如:'123'
87
+ # random_digit = fake.random_digit() # 0~9随机数,例如:'7'
88
+ # random_digit_not_null = fake.random_digit_not_null() # 1~9的随机数,例如:'3'
89
+ # random_int = fake.random_int() # 随机数字,默认0~9999,可以通过设置min,max来设置,例如:'567'
90
+ # random_number = fake.random_number(digits=5) # 随机数字,参数digits设置生成的数字位数,例如:'12345'
91
+ # pyint = fake.pyint() # 随机Int数字,例如:'987'
92
+ # pyfloat = fake.pyfloat(left_digits=5, right_digits=2, positive=True) # 随机Float数字,例如:'12345.67'
93
+ # pydecimal = fake.pydecimal() # 随机Decimal数字,例如:Decimal('123.45')
94
+
95
+ # """
96
+ # 文本、加密类
97
+ # """
98
+ # pystr = fake.pystr() # 随机字符串,例如:'abc123'
99
+ # random_element = fake.random_element() # 随机字母,例如:'a'
100
+ # random_letter = fake.random_letter() # 随机字母,例如:'b'
101
+ # paragraph = fake.paragraph() # 随机生成
102
+
103
+ # """时间信息类"""
104
+ # date = fake.date() # 随机日期
105
+ # date_between = fake.date_between(start_date='-30y', end_date='today') # 随机生成指定范围内日期,例如:datetime.date(1998, 4, 3)
106
+ # date_object = fake.date_object() # 随机生产从1970-1-1到指定日期的随机日期,例如:datetime.date(1985, 3, 19)
107
+ # date_time = fake.date_time() # 随机生成指定时间(1970年1月1日至今),例如:datetime.datetime(2003, 5, 23, 16, 45, 40)
108
+ # date_time_ad = fake.date_time_ad() # 生成公元1年到现在的随机时间,例如:datetime.datetime(2005, 12, 2, 19, 25, 46)
109
+ # date_time_between = fake.date_time_between(start_date='-30y', end_date='now') # 随机生成指定范围内日期,用法同dates
110
+ # future_date = fake.future_date(end_date='+30d') # 未来日期,例如:datetime.date(2023, 2, 17)
111
+ # future_datetime = fake.future_datetime(end_date='+30d') # 未来时间,例如:datetime.datetime(2023, 2, 17, 20, 48, 35)
112
+ # month = fake.month() # 随机月份,例如:'04'
113
+ # month_name = fake.month_name() # 随机月份(英文),例如:'December'
114
+ # past_date = fake.past_date(start_date='-30d') # 随机生成已经过去的日期,例如:datetime.date(2023, 1, 18)
115
+ # past_datetime = fake.past_datetime(start_date='-30d') # 随机生成已经过去的时间,例如:datetime.datetime(2023, 1, 18, 20, 48, 35)
116
+ # time = fake.time() # 随机24小时时间,例如:datetime.time(13, 20, 10)
117
+ # timedelta = fake.time_delta() # 随机获取时间差,例如:datetime.timedelta(days=3, seconds=86254)
118
+ # time_object = fake.time_object() # 随机24小时时间,time对象,例如:datetime.time(21, 47)
119
+ # time_series = fake.time_series() # 随机TimeSeries对象,例如:<faker.providers.date_time.Provider object at 0x7fc4bca6d9d0>
120
+ # timezone = fake.timezone() # 随机时区,例如:'Asia/Shanghai'
121
+ # unix_time = fake.unix_time() # 随机Unix时间,例如:659312340
122
+ # year = fake.year() # 随机年份,例如:'1998'
123
+ class FakeDataGenerator:
124
+
125
+ def __init__(self, seed=None, locale='zh_CN'):
126
+ """初始化Faker实例并设置本地化"""
127
+ Faker.seed(seed)
128
+ self.fake = Faker(locale)
129
+ # fake.seed(seed)
130
+ self.fake_en = Faker('en_US') # 用于生成英文国家名
131
+
132
+ # 生成用户代理并解析
133
+ self._user_agent = self.fake.user_agent()
134
+ self._parsed_ua = parse(self._user_agent)
135
+
136
+ @property
137
+ def user_agent(self):
138
+ return self._user_agent
139
+
140
+ @property
141
+ def fake_currency(self):
142
+ return self.fake.currency()[0]
143
+
144
+ @property
145
+ def fake_city(self):
146
+ return self.fake.city()
147
+
148
+ @property
149
+ def fake_city_suffix(self):
150
+ return self.fake.city_suffix()
151
+
152
+ @property
153
+ def fake_country(self):
154
+ return self.fake_en.country()
155
+
156
+ @property
157
+ def fake_country_code(self):
158
+ return self.fake.country_code()
159
+
160
+ @property
161
+ def fake_district(self):
162
+ return self.fake.district()
163
+
164
+ @property
165
+ def fake_latitude(self):
166
+ return self.fake.latitude()
167
+
168
+ @property
169
+ def fake_longitude(self):
170
+ return self.fake.longitude()
171
+
172
+ @property
173
+ def fake_postcode(self):
174
+ return self.fake.postcode()
175
+
176
+ @property
177
+ def fake_province(self):
178
+ return self.fake.province()
179
+
180
+ @property
181
+ def fake_address(self):
182
+ return self.fake.address()
183
+
184
+ @property
185
+ def fake_street_address(self):
186
+ return self.fake.street_address()
187
+
188
+ @property
189
+ def fake_street_name(self):
190
+ return self.fake.street_name()
191
+
192
+ @property
193
+ def fake_street_suffix(self):
194
+ return self.fake.street_suffix()
195
+
196
+ @property
197
+ def fake_ssn(self):
198
+ return self.fake.ssn()
199
+
200
+ @property
201
+ def fake_bs(self):
202
+ return self.fake.bs()
203
+
204
+ @property
205
+ def fake_company(self):
206
+ return self.fake.company()
207
+
208
+ @property
209
+ def fake_company_prefix(self):
210
+ return self.fake.company_prefix()
211
+
212
+ @property
213
+ def fake_company_suffix(self):
214
+ return self.fake.company_suffix()
215
+
216
+ @property
217
+ def fake_credit_card_expire(self):
218
+ return self.fake.credit_card_expire()
219
+
220
+ @property
221
+ def fake_credit_card_full(self):
222
+ return str(self.fake.credit_card_full())
223
+
224
+ @property
225
+ def fake_credit_card_number(self):
226
+ return self.fake.credit_card_number()
227
+
228
+ @property
229
+ def fake_credit_card_provider(self):
230
+ return self.fake.credit_card_provider()
231
+
232
+ @property
233
+ def fake_credit_card_security_code(self):
234
+ return self.fake.credit_card_security_code()
235
+
236
+ @property
237
+ def fake_job(self):
238
+ return self.fake.job()
239
+
240
+ @property
241
+ def fake_gender(self):
242
+ return random.choice(["u", "f", "m"])
243
+
244
+ @property
245
+ def fake_first_name_female(self):
246
+ return "AutoTest-" + self.fake.first_name_female()
247
+
248
+ @property
249
+ def fake_first_name_male(self):
250
+ return "AutoTest-" + self.fake.first_name_male()
251
+
252
+ @property
253
+ def fake_last_name_female(self):
254
+ return "AutoTest-" + self.fake.last_name_female()
255
+
256
+ @property
257
+ def fake_last_name_male(self):
258
+ return "AutoTest-" + self.fake.last_name_male()
259
+
260
+ @property
261
+ def fake_name(self):
262
+ return "AutoTest-" + self.fake.name()
263
+
264
+ @property
265
+ def fake_name_female(self):
266
+ return "AutoTest-" + self.fake.name_female()
267
+
268
+ @property
269
+ def fake_name_male(self):
270
+ return "AutoTest-" + self.fake.name_male()
271
+
272
+ @property
273
+ def fake_phone_number(self):
274
+ return self.fake.phone_number()
275
+
276
+ @property
277
+ def fake_phonenumber_prefix(self):
278
+ return self.fake.phonenumber_prefix()
279
+
280
+ @property
281
+ def fake_ascii_company_email(self):
282
+ return self.fake.ascii_company_email()
283
+
284
+ @property
285
+ def fake_ascii_email(self):
286
+ return self.fake.ascii_email()
287
+
288
+ @property
289
+ def fake_company_email(self):
290
+ return self.fake.company_email()
291
+
292
+ @property
293
+ def fake_email(self):
294
+ return "AutoTest-" + self.fake.email()
295
+
296
+ @property
297
+ def fake_safe_email(self):
298
+ return self.fake.safe_email()
299
+
300
+ @property
301
+ def fake_domain_name(self):
302
+ return self.fake.domain_name()
303
+
304
+ @property
305
+ def fake_domain_word(self):
306
+ return self.fake.domain_word()
307
+
308
+ @property
309
+ def fake_ipv4(self):
310
+ return self.fake.ipv4()
311
+
312
+ @property
313
+ def fake_ipv6(self):
314
+ return self.fake.ipv6()
315
+
316
+ @property
317
+ def fake_mac_address(self):
318
+ return self.fake.mac_address()
319
+
320
+ @property
321
+ def fake_port_number(self):
322
+ return self.fake.port_number()
323
+
324
+ @property
325
+ def fake_tld(self):
326
+ return self.fake.tld()
327
+
328
+ @property
329
+ def fake_uri(self):
330
+ return self.fake.uri()
331
+
332
+ @property
333
+ def fake_uri_extension(self):
334
+ return self.fake.uri_extension()
335
+
336
+ @property
337
+ def fake_uri_page(self):
338
+ return self.fake.uri_page()
339
+
340
+ @property
341
+ def fake_uri_path(self):
342
+ return self.fake.uri_path()
343
+
344
+ @property
345
+ def fake_url(self):
346
+ return self.fake.url()
347
+
348
+ @property
349
+ def fake_user_name(self):
350
+ return "AutoTest-" + self.fake.user_name()
351
+
352
+ @property
353
+ def fake_image_url(self):
354
+ return self.fake.image_url()
355
+
356
+ @property
357
+ def fake_linux_platform_token(self):
358
+ return self.fake.linux_platform_token()
359
+
360
+ @property
361
+ def fake_browser(self):
362
+ return self._parsed_ua.browser.family
363
+
364
+ @property
365
+ def fake_browser_version(self):
366
+ return '.'.join(map(str, self._parsed_ua.browser.version[:2]))
367
+
368
+ @property
369
+ def fake_os(self):
370
+ return self._parsed_ua.os.family
371
+
372
+ @property
373
+ def fake_os_version(self):
374
+ return '.'.join(map(str, self._parsed_ua.os.version[:2]))
375
+
376
+ @property
377
+ def fake_device_type(self):
378
+ return random.choice(["desktop", "mobile"])
379
+
380
+ @property
381
+ def fake_network(self):
382
+ return random.choice(["4g", "3g", "2g"])
383
+
384
+ @property
385
+ def fake_numerify(self):
386
+ return self.fake.numerify()
387
+
388
+ @property
389
+ def fake_random_digit(self):
390
+ return self.fake.random_digit()
391
+
392
+ @property
393
+ def fake_random_digit_not_null(self):
394
+ return self.fake.random_digit_not_null()
395
+
396
+ @property
397
+ def fake_random_int(self):
398
+ return self.fake.random_int()
399
+
400
+ @property
401
+ def fake_random_number(self):
402
+ return self.fake.random_number(digits=5)
403
+
404
+ @property
405
+ def fake_random_long_number(self):
406
+ return self.fake.random_number(digits=26)
407
+
408
+ @property
409
+ def fake_random_ten_number(self):
410
+ return self.fake.random_number(digits=10)
411
+
412
+ @property
413
+ def fake_pyint(self):
414
+ return self.fake.pyint()
415
+
416
+ @property
417
+ def fake_pyfloat(self):
418
+ return self.fake.pyfloat(left_digits=5, right_digits=4, positive=True)
419
+
420
+ @property
421
+ def fake_pydecimal(self):
422
+ return self.fake.pydecimal()
423
+
424
+ @property
425
+ def fake_pystr(self):
426
+ return self.fake.pystr()
427
+
428
+ @property
429
+ def fake_version(self):
430
+ return f"AutoTest-1.1.{self.fake.pyfloat(left_digits=8, right_digits=4, positive=True)}{self.fake.pyfloat(left_digits=6, right_digits=8, positive=True)}"
431
+
432
+ @property
433
+ def fake_random_element(self):
434
+ return self.fake.random_element()
435
+
436
+ @property
437
+ def fake_random_letter(self):
438
+ return self.fake.random_letter()
439
+
440
+ @property
441
+ def fake_paragraph(self):
442
+ return self.fake.paragraph()
443
+
444
+ @property
445
+ def fake_sentence(self):
446
+ return self.fake.sentence()
447
+
448
+ @property
449
+ def fake_word(self):
450
+ return self.fake.word()
451
+
452
+ @property
453
+ def fake_boolean(self):
454
+ return self.fake.boolean()
455
+
456
+ @property
457
+ def fake_language(self):
458
+ return self.fake.language_code()
459
+
460
+ @property
461
+ def fake_locale_language(self):
462
+ return self.fake.locale()
463
+
464
+ @property
465
+ def fake_md5(self):
466
+ return self.fake.md5()
467
+
468
+ @property
469
+ def fake_password(self):
470
+ return self.fake.password()
471
+
472
+ @property
473
+ def fake_sha1(self):
474
+ return self.fake.sha1()
475
+
476
+ @property
477
+ def fake_sha256(self):
478
+ return self.fake.sha256()
479
+
480
+ @property
481
+ def fake_uuid4(self):
482
+ return self.fake.uuid4()
483
+
484
+ @property
485
+ def fake_date(self):
486
+ return self.fake.date()
487
+
488
+ @property
489
+ def fake_date_between(self):
490
+ return self.fake.date_between(start_date='-30y', end_date='today')
491
+
492
+ @property
493
+ def fake_date_object(self):
494
+ return self.fake.date_object()
495
+
496
+ @property
497
+ def fake_date_time(self):
498
+ return self.fake.date_time()
499
+
500
+ @property
501
+ def fake_date_time_ad(self):
502
+ return self.fake.date_time_ad()
503
+
504
+ @property
505
+ def fake_date_time_between(self):
506
+ return self.fake.date_time_between(start_date='-30y', end_date='now')
507
+
508
+ @property
509
+ def fake_future_date(self):
510
+ return self.fake.future_date(end_date='+30d')
511
+
512
+ @property
513
+ def fake_future_datetime(self):
514
+ return self.fake.future_datetime(end_date='+30d')
515
+
516
+ @property
517
+ def fake_month(self):
518
+ return self.fake.month()
519
+
520
+ @property
521
+ def fake_month_name(self):
522
+ return self.fake.month_name()
523
+
524
+ @property
525
+ def fake_past_date(self):
526
+ return self.fake.past_date(start_date='-30d')
527
+
528
+ @property
529
+ def fake_past_datetime(self):
530
+ return self.fake.past_datetime(start_date='-30d')
531
+
532
+ @property
533
+ def fake_time(self):
534
+ return self.fake.time()
535
+
536
+ @property
537
+ def fake_timedelta(self):
538
+ return self.fake.time_delta()
539
+
540
+ @property
541
+ def fake_time_object(self):
542
+ return self.fake.time_object()
543
+
544
+ @property
545
+ def fake_timezone(self):
546
+ return self.fake.timezone()
547
+
548
+ @property
549
+ def fake_unix_time(self):
550
+ return self.fake.unix_time()
551
+
552
+ @property
553
+ def fake_year(self):
554
+ return self.fake.year()
555
+
556
+ @property
557
+ def fake_width(self):
558
+ return random.randint(800, 4000)
559
+
560
+ @property
561
+ def fake_height(self):
562
+ return random.randint(600, 2500)
563
+
564
+ def generate_user_data(self):
565
+ """
566
+ 生成完整的用户测试数据
567
+ """
568
+ user_agent = self.fake.user_agent()
569
+ parsed_ua = parse(user_agent)
570
+
571
+ return {
572
+ 'user_agent': user_agent,
573
+ 'fake_currency': self.fake.currency()[0],
574
+ 'fake_city': self.fake.city(),
575
+ 'fake_city_suffix': self.fake.city_suffix(),
576
+ 'fake_country': self.fake_en.country(),
577
+ 'fake_country_code': self.fake.country_code(),
578
+ 'fake_district': self.fake.district(),
579
+ 'fake_latitude': self.fake.latitude(),
580
+ 'fake_longitude': self.fake.longitude(),
581
+ 'fake_postcode': self.fake.postcode(),
582
+ 'fake_province': self.fake.province(),
583
+ 'fake_address': self.fake.address(),
584
+ 'fake_street_address': self.fake.street_address(),
585
+ 'fake_street_name': self.fake.street_name(),
586
+ 'fake_street_suffix': self.fake.street_suffix(),
587
+ 'fake_ssn': self.fake.ssn(),
588
+ 'fake_bs': self.fake.bs(),
589
+ 'fake_company': self.fake.company(),
590
+ 'fake_company_prefix': self.fake.company_prefix(),
591
+ 'fake_company_suffix': self.fake.company_suffix(),
592
+ 'fake_credit_card_expire': self.fake.credit_card_expire(),
593
+ 'fake_credit_card_full': str(self.fake.credit_card_full()),
594
+ 'fake_credit_card_number': self.fake.credit_card_number(),
595
+ 'fake_credit_card_provider': self.fake.credit_card_provider(),
596
+ 'fake_credit_card_security_code': self.fake.credit_card_security_code(),
597
+ 'fake_job': self.fake.job(),
598
+ 'fake_gender': random.choice(["u", "f", "m"]),
599
+ 'fake_first_name_female': "AutoTest-" + self.fake.first_name_female(),
600
+ 'fake_first_name_male': "AutoTest-" + self.fake.first_name_male(),
601
+ 'fake_last_name_female': "AutoTest-" + self.fake.last_name_female(),
602
+ 'fake_last_name_male': "AutoTest-" + self.fake.last_name_male(),
603
+ 'fake_name': "AutoTest-" + self.fake.name(),
604
+ 'fake_name_female': "AutoTest-" + self.fake.name_female(),
605
+ 'fake_name_male': "AutoTest-" + self.fake.name_male(),
606
+ 'fake_phone_number': self.fake.phone_number(),
607
+ 'fake_phonenumber_prefix': self.fake.phonenumber_prefix(),
608
+ 'fake_ascii_company_email': self.fake.ascii_company_email(),
609
+ 'fake_ascii_email': self.fake.ascii_email(),
610
+ 'fake_company_email': self.fake.company_email(),
611
+ 'fake_email': "AutoTest-" + self.fake.email(),
612
+ 'fake_safe_email': self.fake.safe_email(),
613
+ 'fake_domain_name': self.fake.domain_name(),
614
+ 'fake_domain_word': self.fake.domain_word(),
615
+ 'fake_ipv4': self.fake.ipv4(),
616
+ 'fake_ipv6': self.fake.ipv6(),
617
+ 'fake_mac_address': self.fake.mac_address(),
618
+ 'fake_port_number': self.fake.port_number(),
619
+ 'fake_tld': self.fake.tld(),
620
+ 'fake_uri': self.fake.uri(),
621
+ 'fake_uri_extension': self.fake.uri_extension(),
622
+ 'fake_uri_page': self.fake.uri_page(),
623
+ 'fake_uri_path': self.fake.uri_path(),
624
+ 'fake_url': self.fake.url(),
625
+ 'fake_user_name': "AutoTest-" + self.fake.user_name(),
626
+ 'fake_image_url': self.fake.image_url(),
627
+ 'fake_linux_platform_token': self.fake.linux_platform_token(),
628
+ 'fake_browser': parsed_ua.browser.family,
629
+ 'fake_browser_version': '.'.join(map(str, parsed_ua.browser.version[:2])),
630
+ 'fake_os': parsed_ua.os.family,
631
+ 'fake_os_version': '.'.join(map(str, parsed_ua.os.version[:2])),
632
+ 'fake_device_type': random.choice(["desktop", "mobile"]),
633
+ 'fake_network': random.choice(["4g", "3g", "2g"]),
634
+ 'fake_numerify': self.fake.numerify(),
635
+ 'fake_random_digit': self.fake.random_digit(),
636
+ 'fake_random_digit_not_null': self.fake.random_digit_not_null(),
637
+ 'fake_random_int': self.fake.random_int(),
638
+ 'fake_random_number': self.fake.random_number(digits=5),
639
+ 'fake_random_long_number': self.fake.random_number(digits=26),
640
+ 'fake_random_ten_number': self.fake.random_number(digits=10),
641
+ 'fake_pyint': self.fake.pyint(),
642
+ 'fake_pyfloat': self.fake.pyfloat(left_digits=5, right_digits=4, positive=True),
643
+ 'fake_pydecimal': self.fake.pydecimal(),
644
+ 'fake_pystr': self.fake.pystr(),
645
+ 'fake_version': f"AutoTest-1.1.{self.fake.pyfloat(left_digits=8, right_digits=4, positive=True)}{self.fake.pyfloat(left_digits=6, right_digits=8, positive=True)}",
646
+ 'fake_random_element': self.fake.random_element(),
647
+ 'fake_random_letter': self.fake.random_letter(),
648
+ 'fake_paragraph': self.fake.paragraph(),
649
+ 'fake_sentence': self.fake.sentence(),
650
+ 'fake_word': self.fake.word(),
651
+ 'fake_boolean': self.fake.boolean(),
652
+ 'fake_language': self.fake.language_code(),
653
+ 'fake_locale_language': self.fake.locale(),
654
+ 'fake_md5': self.fake.md5(),
655
+ 'fake_password': self.fake.password(),
656
+ 'fake_sha1': self.fake.sha1(),
657
+ 'fake_sha256': self.fake.sha256(),
658
+ 'fake_uuid4': self.fake.uuid4(),
659
+ 'fake_date': self.fake.date(),
660
+ 'fake_date_between': self.fake.date_between(start_date='-30y', end_date='today'),
661
+ 'fake_date_object': self.fake.date_object(),
662
+ 'fake_date_time': self.fake.date_time(),
663
+ 'fake_date_time_ad': self.fake.date_time_ad(),
664
+ 'fake_date_time_between': self.fake.date_time_between(start_date='-30y', end_date='now'),
665
+ 'fake_future_date': self.fake.future_date(end_date='+30d'),
666
+ 'fake_future_datetime': self.fake.future_datetime(end_date='+30d'),
667
+ 'fake_month': self.fake.month(),
668
+ 'fake_month_name': self.fake.month_name(),
669
+ 'fake_past_date': self.fake.past_date(start_date='-30d'),
670
+ 'fake_past_datetime': self.fake.past_datetime(start_date='-30d'),
671
+ 'fake_time': self.fake.time(),
672
+ 'fake_timedelta': self.fake.time_delta(),
673
+ 'fake_time_object': self.fake.time_object(),
674
+ 'fake_timezone': self.fake.timezone(),
675
+ 'fake_unix_time': self.fake.unix_time(),
676
+ 'fake_year': self.fake.year(),
677
+ 'fake_width': random.randint(800, 4000),
678
+ 'fake_height': random.randint(600, 2500)
679
+ }
@@ -0,0 +1,22 @@
1
+ import requests
2
+
3
+
4
+ class RequestBase:
5
+ def __init__(self, host, headers):
6
+ """
7
+
8
+ :param headers: 头,cookie
9
+ :param host: 域名
10
+ """
11
+ self.host = host
12
+ self.headers = headers
13
+ self.request = requests.Request(headers=self.headers)
14
+ self.post = requests.Request("POST", headers=self.headers)
15
+ self.get = requests.Request("GET", headers=self.headers)
16
+
17
+
18
+ class FormRequestBase(RequestBase):
19
+ def __init__(self, form_id, host, headers):
20
+ super().__init__(host, headers)
21
+ self.form_id = form_id
22
+