从Jmeter中的CSV文件读取问题

时间:2018-06-08 14:50:39

标签: jmeter

我正在使用Jmeter和Selenium Webdriver采样器& JAVA。 我有一个包含用户名和密码的CSV文件。我的测试有CSV数据集配置来读取文件和Webdriver采样器。我在java中编写selenium代码。 我想从CSV文件中读取用户名和密码,并在我的selenium脚本中使用它。这是我的代码:

Code CSV Config

using RuntimeWrapper = Microsoft.SqlServer.Dts.Runtime.Wrapper;  

namespace ST_9646389d9def4d9b8d8b53a9ae45fc56
{

    [Microsoft.SqlServer.Dts.Tasks.ScriptTask.SSISScriptTaskEntryPointAttribute]
    public partial class ScriptMain : Microsoft.SqlServer.Dts.Tasks.ScriptTask.VSTARTScriptObjectModelBase
    {


    public void Main()
            {
       RuntimeWrapper.IDTSProject100 p = ((RuntimeWrapper.IDTSProject100)((Package)Dts.Variables["User::AnyReadOnlyVariable"].Parent).Project);
       Project proj = GetProject(p);

      foreach (PackageItem pkgItem in proj.PackageItems)
                    {
                        gdicLogData = new Dictionary<string, string>();

                        Package pkg = pkgItem.Package;
                        Variables varPackageValiables = pkg.Variables;

                        foreach (Variable pkgVar in varPackageValiables)
                        {

                            if (pkgVar.Namespace.ToString() == "User")
                            {

                                Dictionary.Add(pkgVar.Name, pkgVar.Value.ToString());
                            }
                        }


                        Parameters parameters = pkg.Parameters;

                        foreach (Parameter parItem in parameters)
                        {
                            Dictionary.Add(parItem.Name, parItem.Value.ToString());
                        }


                    }

    }

}
}

我遇到的问题是它不是从CSV中挑选的。以上两行产生结果&#34; loginName&#34;而不是从文件中选择实际的登录名。我用过单引号,双引号等,但没有运气。使用$ {loginName}会出错。任何想法有什么问题以及如何解决它?

1 个答案:

答案 0 :(得分:0)

  1. 从脚本中删除这两行,因为它们不是必需的,而且如果您使用"github.com/globalsign/mgo" "github.com/globalsign/mgo/bson" 作为语言,它们会导致语法错误

    java
  2. 从语言下拉列表中选择var ctx = org.apache.jmeter.threads.JMeterContextService.getContext(); var vars = ctx.getVariables(); 。当你选择groovy时,它不是真正的&#34; java,它是Beanshell解释器,所以如果你想使用普通的Java语法 - 选择Groovy。此外since JMeter 3.1 it is recommended to use Groovy for all forms of scripting。这是因为Groovy has much better performance than other scripting options

  3. Groovy脚本有效的证据:

    JMeter WebDriver Variables