我正在使用Jmeter和Selenium Webdriver采样器& JAVA。 我有一个包含用户名和密码的CSV文件。我的测试有CSV数据集配置来读取文件和Webdriver采样器。我在java中编写selenium代码。 我想从CSV文件中读取用户名和密码,并在我的selenium脚本中使用它。这是我的代码:
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}会出错。任何想法有什么问题以及如何解决它?
答案 0 :(得分:0)
从脚本中删除这两行,因为它们不是必需的,而且如果您使用"github.com/globalsign/mgo"
"github.com/globalsign/mgo/bson"
作为语言,它们会导致语法错误
java
从语言下拉列表中选择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。
Groovy脚本有效的证据: