.net core appium dotnet驱动程序是否支持.net core 2.x?

.net core appium dotnet驱动程序是否支持.net core 2.x?,.net-core,appium,.net Core,Appium,我试图在.net core framework中使用Appium donet webdriver,并对Appium.webdriver、Castle.core和Selenium.Support发出警告。我们是否支持.net core?我为WinDriver做了类似的事情。我能够转换来自地球的GettingStartedWinDriver解决方案。看 下面的屏幕截图显示了使用的项目属性和依赖项: 正如您所看到的,Appium.WebDriver(4.0.05-beta版)正被引用以实现此功能。这是

我试图在.net core framework中使用Appium donet webdriver,并对Appium.webdriver、Castle.core和Selenium.Support发出警告。我们是否支持.net core?

我为WinDriver做了类似的事情。我能够转换来自地球的GettingStartedWinDriver解决方案。看

下面的屏幕截图显示了使用的项目属性和依赖项: 正如您所看到的,Appium.WebDriver(4.0.05-beta版)正被引用以实现此功能。这是使其在.NETCore2.1上运行的关键。因此,一定要调查这一点,努力使这项工作的WebDriver

这就是实现:

using NUnit.Framework;
using OpenQA.Selenium.Appium;
using OpenQA.Selenium.Appium.Windows;
using System;

namespace GettingStartedWinDriverDotNetCore2Dot1
{
    [TestFixture]
    public class CalculatorTests
    {
        private WindowsDriver<WindowsElement> _driver;

        [SetUp]
        public void TestInit()
        {
            AppiumOptions appOptions = new AppiumOptions();

            appOptions.AddAdditionalCapability("app", "Microsoft.WindowsCalculator_8wekyb3d8bbwe!App");
            appOptions.AddAdditionalCapability("deviceName", "WindowsPC");
            _driver = 
                new WindowsDriver<WindowsElement>(new Uri("http://127.0.0.1:4723"), appOptions);
            _driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(5);
        }

        [TearDown]
        public void TestCleanup()
        {
            if (_driver != null)
            {
                _driver.Quit();
                _driver = null;
            }
        }

        [Test]
        public void Addition()
        {
            _driver.FindElementByName("Five").Click();
            _driver.FindElementByName("Plus").Click();
            _driver.FindElementByName("Seven").Click();
            _driver.FindElementByName("Equals").Click();

            var calculatorResult = GetCalculatorResultText();
            Assert.AreEqual("12", calculatorResult);
        }

        [Test]
        public void Division()
        {
            _driver.FindElementByAccessibilityId("num8Button").Click();
            _driver.FindElementByAccessibilityId("num8Button").Click();
            _driver.FindElementByAccessibilityId("divideButton").Click();
            _driver.FindElementByAccessibilityId("num1Button").Click();
            _driver.FindElementByAccessibilityId("num1Button").Click();
            _driver.FindElementByAccessibilityId("equalButton").Click();

            Assert.AreEqual("8", GetCalculatorResultText());
        }

        [Test]
        public void Multiplication()
        {
            _driver.FindElementByXPath("//Button[@Name='Nine']").Click();
            _driver.FindElementByXPath("//Button[@Name='Multiply by']").Click();
            _driver.FindElementByXPath("//Button[@Name='Nine']").Click();
            _driver.FindElementByXPath("//Button[@Name='Equals']").Click();

            Assert.AreEqual("81", GetCalculatorResultText());
        }

        [Test]
        public void Subtraction()
        {
            _driver.FindElementByXPath("//Button[@AutomationId=\"num9Button\"]").Click();
            _driver.FindElementByXPath("//Button[@AutomationId=\"minusButton\"]").Click();
            _driver.FindElementByXPath("//Button[@AutomationId=\"num1Button\"]").Click();
            _driver.FindElementByXPath("//Button[@AutomationId=\"equalButton\"]").Click();

            Assert.AreEqual("8", GetCalculatorResultText());
        }

        [Test]
        [TestCase("One", "Plus", "Seven", "8")]
        [TestCase("Nine", "Minus", "One", "8")]
        [TestCase("Eight", "Divide by", "Eight", "1")]
        public void Templatized(string input1, string operation, string input2, string expectedResult)
        {
            _driver.FindElementByName(input1).Click();
            _driver.FindElementByName(operation).Click();
            _driver.FindElementByName(input2).Click();
            _driver.FindElementByName("Equals").Click();

            Assert.AreEqual(expectedResult, GetCalculatorResultText());
        }

        private string GetCalculatorResultText()
        {
            return _driver.FindElementByAccessibilityId("CalculatorResults").Text.Replace("Display is", string.Empty).Trim();
        }
    }
}
使用NUnit.Framework;
使用OpenQA.Selenium.Appium;
使用OpenQA.Selenium.Appium.Windows;
使用制度;
命名空间GettingStartedWinDriverDotNetCore2Dot1
{
[测试夹具]
公共类计算器测试
{
私有窗口驱动程序_驱动程序;
[设置]
公共无效测试()
{
AppiumOptions appOptions=新的AppiumOptions();
appOptions.AddAdditionalCapability(“应用程序”、“Microsoft.WindowsCalculator_8wekyb3d8bbwe!应用程序”);
appOptions.AddAdditionalCapability(“deviceName”、“WindowsPC”);
_驱动程序=
新的Windows驱动程序(新的Uri(“http://127.0.0.1:4723",委任),;
_driver.Manage().Timeouts().ImplicitWait=TimeSpan.FromSeconds(5);
}
[撕裂]
公共void TestCleanup()
{
如果(_driver!=null)
{
_driver.Quit();
_驱动程序=null;
}
}
[测试]
公共空间添加()
{
_driver.FindElementByName(“五”).Click();
_driver.FindElementByName(“Plus”)。单击();
_driver.FindElementByName(“七”).Click();
_driver.FindElementByName(“等于”).Click();
var calculatorResult=GetCalculatorResultText();
断言.AreEqual(“12”,calculatorResult);
}
[测试]
公共事务部()
{
_driver.FindElementByAccessibilityId(“num8Button”)。单击();
_driver.FindElementByAccessibilityId(“num8Button”)。单击();
_driver.FindElementByAccessibilityId(“divideButton”)。单击();
_driver.FindElementByAccessibilityId(“num1Button”)。单击();
_driver.FindElementByAccessibilityId(“num1Button”)。单击();
_driver.FindElementByAccessibilityId(“equalButton”)。单击();
AreEqual(“8”,GetCalculatorResultText());
}
[测试]
公共空间倍增()
{
_driver.findelementbypath(“//按钮[@Name='Nine']”)。单击();
_driver.findelementbypath(“//按钮[@Name='乘以'])。单击();
_driver.findelementbypath(“//按钮[@Name='Nine']”)。单击();
_driver.findelementbypath(“//按钮[@Name='Equals']”)。单击();
AreEqual(“81”,GetCalculatorResultText());
}
[测试]
公共空减法()
{
_driver.findelementbypath(“//Button[@AutomationId=\“num9Button\”])。单击();
_driver.findelementbypath(“//Button[@AutomationId=\“minusButton\”])。单击();
_driver.findelementbypath(“//Button[@AutomationId=\“numbutton\”])。单击();
_driver.findelementbypath(“//Button[@AutomationId=\“equalButton\”])。单击();
AreEqual(“8”,GetCalculatorResultText());
}
[测试]
[测试用例(“一”、“加”、“七”、“8”)]
[测试用例(“九”,“减”,“一”,“8”)]
[测试用例(“八”、“除以”、“八”、“1”)]
已模板化的公共void(字符串input1、字符串操作、字符串input2、字符串expectedResult)
{
_driver.FindElementByName(input1.Click();
_driver.FindElementByName(操作)。单击();
_driver.FindElementByName(input2).Click();
_driver.FindElementByName(“等于”).Click();
AreEqual(expectedResult,GetCalculatorResultText());
}
私有字符串GetCalculatorResultText()
{
返回_driver.FindElementByAccessibilityId(“CalculatorResults”).Text.Replace(“Display is”,string.Empty).Trim();
}
}
}