Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Selenium:无法从其他测试用例访问变量_C#_Visual Studio_Selenium_Global Variables - Fatal编程技术网

C# Selenium:无法从其他测试用例访问变量

C# Selenium:无法从其他测试用例访问变量,c#,visual-studio,selenium,global-variables,C#,Visual Studio,Selenium,Global Variables,我正在VisualStudio中使用Selenium和NUnit对测试用例进行排序 我无法访问两个字符串变量,因为它们属于两个不同的测试用例 我的代码的简化版本 namespace AutomatedTestCases { [TestFixture] public class TestClass : BaseTest { private String A; private String B; [Test] publi

我正在VisualStudio中使用Selenium和NUnit对测试用例进行排序

我无法访问两个字符串变量,因为它们属于两个不同的测试用例

我的代码的简化版本

namespace AutomatedTestCases
{
    [TestFixture]
    public class TestClass : BaseTest
    {
       private String A;
       private String B;
       [Test]
       public void TestCase1()
       {
          String A = "ABC123";
          Console.WriteLine(A);
       }

       [Test]
       public void TestCase2()
       {
          String B = "ABC123";
          Console.WriteLine(B);
       }
       [Test]       
       public void TestCase3()
       {
          Console.WriteLine(A);
          Console.WriteLine(B);
       }
       [Test]
       public void OrderOfTestCases()
       {
       TestCase1();
       TestCase2();
       TestCase3();
       }
   }
}
当我打印测试用例中的文本时,将打印ABC123。 但当我按顺序(OrderOfTestCases())运行它们时,它不会打印任何内容或null


因此,值“ABC123”似乎没有存储在测试用例之间的变量中。

A
B
变量只能在声明它们的方法中访问。如果要在最初声明它们的方法之外访问
A
B
,则必须在类范围内移动声明

    [TestFixture]
    public class TestClass : BaseTest
    {
        private string A = "ABC123";
        private string B = "ABC123";
    }
这意味着您可以在来自
TestClass
class的任何测试方法中访问
A
B
变量

如果您只想在测试中定义变量并分配其值,您只需使用:

private string A;
private string B;
在您的
[Test]
方法中:

[Test]
public void TestCase1()
{
   A = "ABC123";
}

是否可以在那里声明它们而不给它们一个值?像这样
私有字符串A由于特定的值不是静态的,所以我不能预先这样给它们一个值。我需要运行该类的内部测试用例,以从我正在测试的网页的某些元素中检索数据。错误消息已消失,但该值似乎没有永久存储。请阅读更新的问题。删除
A
B
之前的
String
,然后重试。仅允许
A
=“ABC123”;