java - 如何使用 testng 参数化 selenium 中的用户数据并提供给脚本
问题描述
可能有人问过这个问题,但我没有找到完美的解决方案,所以我在这里发帖。我必须自动化销售团队应用程序,并且每次执行脚本时都必须创建新的客户数据。我想创建这样的客户名称是唯一的,例如:客户 123 等。
我可以在 Java 中实现这一目标的最佳方法是什么。我搜索了 SO 和 Google,但它们只提供字母数字随机字符串,我不希望我的客户编号看起来很笨拙。
解决方案
其实有几种方法:
在脚本执行开始时删除所有以前具有给定名称的用户,并重新创建具有相同名称的用户。这样你就可以重复使用他们的名字。
获取所有用户,对其进行排序,查看最后使用的数字,然后使用下一个数字。
这两个选项实际上并不依赖于 Java 特性,而是更多地依赖于您正在创建和维护的名称的逻辑。下面的两个选项会生成一些整数 ID:
使用日期/时间作为您的号码。例如:
SimpleDateFormat timestamp = new SimpleDateFormat("yyyyMMddHHmmssSSS"); String username = "user" + timestamp.format(new Date());
这将为您
user20181122101458234
提供毫秒独有的名称,也不是随机的。您还可以使用 Java 的 UUID 作为您的号码(请参阅此处的想法):
String username = "user" + new BigInteger(UUID.randomUUID().toString().replaceAll("-", ""), 16).toString()
这将生成 type 的名称
user[some big number]
,这是非常独特的
推荐阅读
- java - IntelliJ 无法加载 Maven 依赖项
- ios - scrollView 中只添加了第一个 customUIView
- java - 如何处理 DatabaseException 异常?
- php - 删除 index.php 时如何通过 CLI 执行 Codeigniter 端点
- java - 为什么使用封闭类的实例,静态嵌套类不能实例化?
- vba - 如何使用 Office 脚本自动过滤数据透视表?
- node.js - 在 Pop-OS/Ubuntu 更新后找不到模块“../build/Release/zmq.node”
- python - 条件介于两者之间的 Keras 垂直集成模型
- python - 没有numpy的矩阵乘法
- c++ - 浮点值丢失 :: 使用 rapidjson 读取 JSON