首页 > 解决方案 > 如何使用 testng 参数化 selenium 中的用户数据并提供给脚本

问题描述

可能有人问过这个问题,但我没有找到完美的解决方案,所以我在这里发帖。我必须自动化销售团队应用程序,并且每次执行脚本时都必须创建新的客户数据。我想创建这样的客户名称是唯一的,例如:客户 123 等。

我可以在 Java 中实现这一目标的最佳方法是什么。我搜索了 SO 和 Google,但它们只提供字母数字随机字符串,我不希望我的客户编号看起来很笨拙。

标签: javaseleniumtestng

解决方案


其实有几种方法:

  1. 在脚本执行开始时删除所有以前具有给定名称的用户,并重新创建具有相同名称的用户。这样你就可以重复使用他们的名字。

  2. 获取所有用户,对其进行排序,查看最后使用的数字,然后使用下一个数字。

这两个选项实际上并不依赖于 Java 特性,而是更多地依赖于您正在创建和维护的名称的逻辑。下面的两个选项会生成一些整数 ID:

  1. 使用日期/时间作为您的号码。例如:

    SimpleDateFormat timestamp = new SimpleDateFormat("yyyyMMddHHmmssSSS");
    String username = "user" + timestamp.format(new Date());
    

    这将为您user20181122101458234提供毫秒独有的名称,也不是随机的。

  2. 您还可以使用 Java 的 UUID 作为您的号码(请参阅此处的想法):

    String username = "user" + new BigInteger(UUID.randomUUID().toString().replaceAll("-", ""), 16).toString()
    

    这将生成 type 的名称user[some big number],这是非常独特的


推荐阅读