Exemplo n.º 1
1
		public void BeforeAll()
		{

			String TESTDROID_USERNAME = "******";
			String TESTDROID_PASSWORD = "******";

			DesiredCapabilities capabilities = new DesiredCapabilities();
			capabilities.SetCapability("device", "Android");

			capabilities.SetCapability("deviceName", "Android");
			capabilities.SetCapability("platformName", "Android");


			capabilities.SetCapability("testdroid_username", TESTDROID_USERNAME);
			capabilities.SetCapability("testdroid_password", TESTDROID_PASSWORD);
			capabilities.SetCapability("testdroid_target", "Android");
			capabilities.SetCapability("testdroid_project", "C# Appium");
			capabilities.SetCapability("testdroid_testrun", "Android Run 1");

			// See available devices at: https://cloud.testdroid.com/#public/devices
			capabilities.SetCapability("testdroid_device", "Dell Venue 7 3730"); // Freemium device
			capabilities.SetCapability("testdroid_app", "sample/BitbarSampleApp.apk"); //to use existing app using "latest" as fileUUID

			Console.WriteLine ("WebDriver request initiated. Waiting for response, this typically takes 2-3 mins");
			driver = new AndroidDriver<AndroidElement>(new Uri("http://appium.testdroid.com/wd/hub"), capabilities, TimeSpan.FromSeconds(180));
			Console.WriteLine ("WebDriver response received.");


		}
Exemplo n.º 2
0
        public void TestChromeBrowser()
        {
            //string appPath = @"D:\git-zjs\Appium-Test-ios-android\AppiumDriverDemo\Apps\UCBrowser_V9.8.0.435_Android_pf145_(Build14052717).apk";
            string appPath = @"D:\git-zjs\Appium-Test-ios-android\AppiumDriverDemo\Apps\chrome.apk";
            DesiredCapabilities cap = new DesiredCapabilities();
            //cap.SetCapability("appium-version", "1.0");
            cap.SetCapability(CapabilityType.BrowserName, "");
            cap.SetCapability("platformName", "Android");
            cap.SetCapability("browserName", "chrome");
            cap.SetCapability("udid", "EAZSRK6HIJHEAYSK");  //三星手机 //4d00627749d2a037    红米手机 //EAZSRK6HIJHEAYSK   小米3 //bba1bd7
            cap.SetCapability("app", appPath);

            //UC Browser设置
            //cap.SetCapability("app-package", "com.UCMobile");
            //cap.SetCapability("app-activity", "com.uc.browser.InnerUCMobile");

            //Chrome设置
            //cap.SetCapability("app-package", "com.android.chrome");
            //cap.SetCapability("app-activity", "com.google.android.apps.chrome.Main");

            driver = new AppiumDriver(new Uri("http://*****:*****@class=\"f\"]")).Click();
            Thread.Sleep(3000);
            driver.FindElement(By.XPath("//button[@id=\"searchlistsubmit88888888\"]")).Click();
            Thread.Sleep(3000);

            //driver.Quit();
        }
        public void TestUCBrowser()
        {
            string appPath = @"D:\git-zjs\Appium-Test-ios-android\AppiumDriverDemo\Apps\UCBrowser_V9.8.0.435_Android_pf145_(Build14052717).apk";

            DesiredCapabilities cap = new DesiredCapabilities();
            //cap.SetCapability("appium-version", "1.0");
            cap.SetCapability(CapabilityType.BrowserName, "");
            cap.SetCapability("platformName", "Android");
            cap.SetCapability("browserName", "UC Browser");
            cap.SetCapability("udid", "EAZSRK6HIJHEAYSK");  //三星手机 //4d00627749d2a037  //三星手机2  1844d244  红米手机 //EAZSRK6HIJHEAYSK   小米3 //bba1bd7
            cap.SetCapability("app", appPath);

            //UC Browser设置
            cap.SetCapability("appPackage", "com.UCMobile");
            cap.SetCapability("appActivity", "com.uc.browser.InnerUCMobile");

            driver = new AppiumDriver(new Uri("http://localhost:4723/wd/hub"), cap);
            Thread.Sleep(2000);
            IList<IWebElement> ltEle = driver.FindElements(By.ClassName("android.view.View"));
            ltEle[ltEle.Count - 1].Click();
            Thread.Sleep(2000);

            //IJavaScriptExecutor js = (IJavaScriptExecutor)driver;
            //Hashtable keycodes = new Hashtable();

            //keycodes.Add("KEYCODE_C", "31");
            //js.ExecuteScript("mobile:keyevent", keycodes);

            //Thread.Sleep(5000);

            CommonFunction comFun = new CommonFunction();
            comFun.ITakesScreenshots(driver);
            Thread.Sleep(2000);
            driver.Quit();
        }
 public void RunBeforeEach()
 {
     server.respondToInit ();
     DesiredCapabilities capabilities = new DesiredCapabilities();
     driver = new AppiumDriver (new Uri("http://127.0.0.1:4724/wd/hub"), capabilities);
     server.clear ();
 }
Exemplo n.º 5
0
 public void beforeAll()
 {
     string appPath = @"D:\git-zjs\Appium-Test-ios-android\AppiumDriverDemo\Apps\ctrip_9013.apk";
     DesiredCapabilities cap = new DesiredCapabilities();
     cap.SetCapability("udid", "EAZSRK6HIJHEAYSK");    // 真机
     cap.SetCapability("app", appPath);
     driver = new AppiumDriver(new Uri("http://localhost:4728/wd/hub"), cap);
     Thread.Sleep(35000);
 }
 public void RunBeforeAll()
 {
     server = new FakeAppium (4733);
     server.Start ();
     server.respondToInit ();
     DesiredCapabilities capabilities = new DesiredCapabilities();
     driver = new AppiumDriver (new Uri("http://127.0.0.1:4733/wd/hub"), capabilities);
     server.clear ();
 }
Exemplo n.º 7
0
		public static ITouchAction Swipe(AppiumDriver driver, int startX, int startY, int endX, int endY, 
				int duration) {
			ITouchAction touchAction = new TouchAction(driver) 
				.Press (startX, startY)
				.Wait (duration)
				.MoveTo (endX, endY)
				.Release ();
			return touchAction;
		}
Exemplo n.º 8
0
 public TestClass()
 {
     DesiredCapabilities capabilities = new DesiredCapabilities();
     capabilities.SetCapability("appium-version", "1.0");
     capabilities.SetCapability("platformName", "Android");
     capabilities.SetCapability("platformVersion", "4.2.1");
     capabilities.SetCapability("deviceName", "");
     capabilities.SetCapability("app", "/Users/i51375/Code/calabash.mobile/apk/XM8Mobile_1.2.382.e2f2aa0.apk");
     driver = new AppiumDriver(new Uri("http://127.0.0.1:4723/wd/hub"), capabilities);
 }
        public void beforeAll()
        {
            DesiredCapabilities capabilities = new DesiredCapabilities();

            capabilities.SetCapability("deviceName","");
            capabilities.SetCapability("platformName","Android");
            capabilities.SetCapability("app",PATH);

            driver = new AndroidDriver<AppiumWebElement>(new Uri("http://127.0.0.1:4723/wh/hub"), capabilities);
        }
Exemplo n.º 10
0
 public TestClass()
 {
     DesiredCapabilities capabilities = new DesiredCapabilities();
     capabilities.SetCapability("appium-version", "1.0");
     capabilities.SetCapability("platformName", "iOS");
     capabilities.SetCapability("platformVersion", "7.1");
     capabilities.SetCapability("deviceName", "iPhone Simulator");
     capabilities.SetCapability("app", "/Users/i51375/Code/xactimate.ios/Xactimate.iOS/bin/Debug/XactimateiOS.app");
     driver = new AppiumDriver(new Uri("http://127.0.0.1:4723/wd/hub"), capabilities);
 }
Exemplo n.º 11
0
		public void BeforeAll(){
			DesiredCapabilities capabilities = Caps.getIos82Caps (Apps.get("iosWebviewApp")); 
			if (Env.isSauce ()) {
				capabilities.SetCapability("username", Env.getEnvVar("SAUCE_USERNAME")); 
				capabilities.SetCapability("accessKey", Env.getEnvVar("SAUCE_ACCESS_KEY"));
				capabilities.SetCapability("name", "ios - webview");
				capabilities.SetCapability("tags", new string[]{"sample"});
			}
			Uri serverUri = Env.isSauce () ? AppiumServers.sauceURI : AppiumServers.LocalServiceURIForIOS;
            driver = new IOSDriver<IWebElement>(serverUri, capabilities, Env.INIT_TIMEOUT_SEC);	
			driver.Manage().Timeouts().ImplicitlyWait(Env.IMPLICIT_TIMEOUT_SEC);
		}
Exemplo n.º 12
0
		public void beforeAll(){
			DesiredCapabilities capabilities = Caps.getIos71Caps (Apps.get("iosUICatalogApp")); 
			if (Env.isSauce ()) {
				capabilities.SetCapability("username", Env.getEnvVar("SAUCE_USERNAME")); 
				capabilities.SetCapability("accessKey", Env.getEnvVar("SAUCE_ACCESS_KEY"));
				capabilities.SetCapability("name", "ios - complex");
				capabilities.SetCapability("tags", new string[]{"sample"});
			}
			Uri serverUri = Env.isSauce () ? AppiumServers.sauceURI : AppiumServers.localURI;
			driver = new AppiumDriver(serverUri, capabilities, Env.INIT_TIMEOUT_SEC);	
			driver.Manage().Timeouts().ImplicitlyWait(Env.IMPLICIT_TIMEOUT_SEC);
		}
        public static void Initialize()
        {
            var capabilities = new DesiredCapabilities();
            capabilities.SetCapability("deviceName", "Zeta Reticuli");
            capabilities.SetCapability("platformName", "Android");
            capabilities.SetCapability("platformVersion", "5.1.1");
            capabilities.SetCapability("appPackage", "ae.propertyfinder.propertyfinder");
            capabilities.SetCapability("appActivity", "ae.propertyfinder.MainActivity");

            Driver = new AndroidDriver<AppiumWebElement>(new Uri("http://127.0.0.1:4723/wd/hub"), capabilities,
                TimeSpan.FromSeconds(30));
            Driver.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(4));
        }
		public void BeforeAll(){
			DesiredCapabilities capabilities = Env.isSauce () ? 
				Caps.getAndroid18Caps (Apps.get ("selendroidTestApp")) :
				Caps.getAndroid19Caps (Apps.get ("selendroidTestApp"));
			if (Env.isSauce ()) {
				capabilities.SetCapability("username", Env.getEnvVar("SAUCE_USERNAME")); 
				capabilities.SetCapability("accessKey", Env.getEnvVar("SAUCE_ACCESS_KEY"));
				capabilities.SetCapability("name", "android - webview");
				capabilities.SetCapability("tags", new string[]{"sample"});
			}
			Uri serverUri = Env.isSauce () ? AppiumServers.sauceURI : AppiumServers.localURI;
			driver = new AppiumDriver(serverUri, capabilities, Env.INIT_TIMEOUT_SEC);	
			driver.Manage().Timeouts().ImplicitlyWait(Env.IMPLICIT_TIMEOUT_SEC);
		}
Exemplo n.º 15
0
 public void BeforeAll()
 {
     DesiredCapabilities capabilities = Env.isSauce() ?
         Caps.getAndroid501Caps(Apps.get("androidApiDemos")) :
         Caps.getAndroid19Caps(Apps.get("androidApiDemos"));
     if (Env.isSauce())
     {
         capabilities.SetCapability("username", Env.getEnvVar("SAUCE_USERNAME"));
         capabilities.SetCapability("accessKey", Env.getEnvVar("SAUCE_ACCESS_KEY"));
         capabilities.SetCapability("name", "android - complex");
         capabilities.SetCapability("tags", new string[] { "sample" });
     }
     Uri serverUri = Env.isSauce() ? AppiumServers.sauceURI : AppiumServers.LocalServiceURIAndroid;
     driver = new AndroidDriver<IWebElement>(serverUri, capabilities, Env.INIT_TIMEOUT_SEC);
     driver.Manage().Timeouts().ImplicitlyWait(Env.IMPLICIT_TIMEOUT_SEC);
 }
Exemplo n.º 16
0
        /// <summary>
        /// 模拟器通过Appium跑H5用例----> 有问题 
        /// </summary>
        public void TestH5Appium()
        {
            DesiredCapabilities capabilities = new DesiredCapabilities();
            //capabilities.SetCapability("appium-version", "1.0");
            capabilities.SetCapability("deviceName", "android");
            capabilities.SetCapability("udid", "EAZSRK6HIJHEAYSK");
            capabilities.SetCapability("BrowserName","UC Browser");
            driver = new AppiumDriver(new Uri("http://localhost:4723/wd/hub"), capabilities);

            driver.Navigate().GoToUrl("http://www.baidu.com");
            Thread.Sleep(7000);

            CommonFunction comFun = new CommonFunction();
            comFun.ITakesScreenshots(driver);
            driver.Quit();
        }
Exemplo n.º 17
0
        public void beforeAll()
        {
            // find the test application
            Console.WriteLine("Finding Test App");
            string appPath = _GetTestAppPath();
            Console.WriteLine("Using Test App @ \"" + appPath + "\"");

            // set up the remote web driver
            Console.WriteLine("Connecting to Appium server");
            DesiredCapabilities capabilities = new DesiredCapabilities();
            capabilities.SetCapability("appium-version", "1.0");
            capabilities.SetCapability("platformName", "iOS");
            //capabilities.SetCapability("platformVersion", "7.1");
            capabilities.SetCapability("deviceName", "iPhone Simulator");
            capabilities.SetCapability("app", appPath);
            driver = new AppiumDriver(new Uri("http://172.16.144.8:4723/wd/hub"), capabilities);
        }
Exemplo n.º 18
0
        public static void ClassInit(TestContext context)
        {
            // Start Appium Server
            var avdOptions = new KeyValuePair<string, string>("--avd", "Emulator-Api19-Default");
            var avdParamsOptions = new KeyValuePair<string, string>("--avd-args", "\"-scale 0.50\"");
            OptionCollector args = new OptionCollector();
            args.AddArguments(avdOptions);
            args.AddArguments(avdParamsOptions);

            service = new AppiumServiceBuilder().WithArguments(args).UsingAnyFreePort().Build();
            service.Start();
            Assert.IsTrue(service.IsRunning);

            // Start Appium Client
            DesiredCapabilities capabilities = new DesiredCapabilities();
            capabilities.SetCapability("deviceName", "Android Emulator");
            capabilities.SetCapability("platformName", "Android");
            capabilities.SetCapability("app", "C:\\Git\\qa-academy\\2015\\MobileTesting\\testapp\\android-rottentomatoes-demo-debug.apk");
            driver = new AndroidDriver<AndroidElement>(service.ServiceUrl, capabilities);
        }
        private AppiumDriver<AppiumWebElement> Init()
        {
            if (_platform == Platform.Android)
            {
                DesiredCapabilities capabilities = new DesiredCapabilities();
                capabilities.SetCapability("appPackage", "com.android.browser");
                capabilities.SetCapability("deviceName", "Nexus 5 (Lollipop)");

                Driver = new AndroidDriver<AppiumWebElement>(new Uri("http://127.0.0.1:4723/wd/hub"), capabilities);
            }
            else if (_platform == Platform.IOS)
            {
                throw new NotImplementedException("IOS driver not implemented");
            }
            else
            {
                throw new InvalidOperationException("Platform not recognised");
            }

            return Driver;
        }
Exemplo n.º 20
0
        public void TestApp()
        {
            string appPath = @"D:\git-zjs\Appium-Test-ios-android\AppiumDriverDemo\Apps\ctrip_9013.apk";
            DesiredCapabilities cap=new DesiredCapabilities();
            //cap.SetCapability("appium-version", "1.0");
            cap.SetCapability(CapabilityType.BrowserName,"");
            cap.SetCapability("platformName", "Android");
            cap.SetCapability("devicesName", "emulator-5554");     // 虚拟机
            cap.SetCapability("app",appPath);
            cap.SetCapability("appPackage","ctrip.android.view");
            cap.SetCapability("appActivity", "ctrip.android.view.home.CtripSplashActivity");
            driver = new AppiumDriver(new Uri("http://localhost:4723/wd/hub"), cap);

            Thread.Sleep(35000);

            #region  通过js执行滑动屏幕的功能
            IJavaScriptExecutor js = (IJavaScriptExecutor)driver;
            Hashtable swipObj = new Hashtable();
            swipObj.Add("startX", 300.0);
            swipObj.Add("startY", 300.0);
            swipObj.Add("endX", 20.0);
            swipObj.Add("endY", 20.0);
            swipObj.Add("duration", 0.5);
            js.ExecuteScript("mobile: swipe", swipObj);
            Thread.Sleep(5000);
            js.ExecuteScript("mobile: swipe", swipObj);
            Thread.Sleep(5000);
            js.ExecuteScript("mobile: swipe", swipObj);
            Thread.Sleep(5000);
            js.ExecuteScript("mobile: swipe", swipObj);
            #endregion
            Thread.Sleep(9000);

            //方式1  定位
            //driver.FindElement(By.Name("机票")).Click();

            //方式2  定位
            driver.FindElementByAndroidUIAutomator("new UiSelector().className(\"android.widget.TextView\").text(\"机票\")").Click();
            Thread.Sleep(7000);
        }
Exemplo n.º 21
0
        /// <summary>
        /// 测试真机跑APP 及模拟器  
        /// </summary>
        /// <param name="strudid"></param>
        /// <param name="strport"></param>
        public static void TestDriver(string strudid,string strport)
        {
            try
            {
                AppiumDriver driver;
                string appPath = @"D:\git-zjs\Appium-Test-ios-android\AppiumDriverDemo\Apps\ctrip_9013.apk";
                DesiredCapabilities cap = new DesiredCapabilities();
                cap.SetCapability("udid", strudid);    // 真机
                cap.SetCapability("app", appPath);
                driver = new AppiumDriver(new Uri(string.Format("http://localhost:{0}/wd/hub", strport)), cap);

                Thread.Sleep(35000);

                #region  通过js执行滑动屏幕的功能
                IJavaScriptExecutor js = (IJavaScriptExecutor)driver;
                Hashtable swipObj = new Hashtable();
                swipObj.Add("startX", 300.0);
                swipObj.Add("startY", 300.0);
                swipObj.Add("endX", 20.0);
                swipObj.Add("endY", 20.0);
                swipObj.Add("duration", 0.5);
                js.ExecuteScript("mobile: swipe", swipObj);
                Thread.Sleep(3000);
                js.ExecuteScript("mobile: swipe", swipObj);
                Thread.Sleep(3000);
                js.ExecuteScript("mobile: swipe", swipObj);
                Thread.Sleep(3000);
                js.ExecuteScript("mobile: swipe", swipObj);
                #endregion
                Thread.Sleep(5000);

                //方式1  定位
                driver.FindElement(By.Name("机票")).Click();

                //方式2  定位
                //driver.FindElementByAndroidUIAutomator("new UiSelector().className(\"android.widget.TextView\").text(\"机票\")").Click();
                Thread.Sleep(3000);
                driver.Quit();
            }
            catch (Exception ex)
            {
                Console.WriteLine(string.Format("机器的uid为:{0}   异常信息为{1}",strudid,ex.ToString()));
                Console.WriteLine("-------------------------------");
                //driver.Quit();
            }
        }
Exemplo n.º 22
0
        /// <summary>
        /// 跑模拟器 
        /// </summary>
        public static void TestAPPEmulatorsNew()
        {
            string appPath = @"D:\git-zjs\Appium-Test-ios-android\AppiumDriverDemo\Apps\ctrip_9013.apk";
            DesiredCapabilities cap = new DesiredCapabilities();
            cap.SetCapability("udid", "emulator-5554");  //虚拟机 43200000

            cap.SetCapability("app", appPath);
            var driver = new AppiumDriver(new Uri("http://localhost:4799/wd/hub"), cap);

            Thread.Sleep(35000);

            #region  通过js执行滑动屏幕的功能
            IJavaScriptExecutor js = (IJavaScriptExecutor)driver;
            Hashtable swipObj = new Hashtable();
            swipObj.Add("startX", 300.0);
            swipObj.Add("startY", 300.0);
            swipObj.Add("endX", 20.0);
            swipObj.Add("endY", 20.0);
            swipObj.Add("duration", 0.5);
            js.ExecuteScript("mobile: swipe", swipObj);
            Thread.Sleep(3000);
            js.ExecuteScript("mobile: swipe", swipObj);
            Thread.Sleep(3000);
            js.ExecuteScript("mobile: swipe", swipObj);
            Thread.Sleep(3000);
            js.ExecuteScript("mobile: swipe", swipObj);
            #endregion
            Thread.Sleep(5000);

            //方式1  定位
            driver.FindElement(By.Name("机票")).Click();

            //方式2  定位
            //driver.FindElementByAndroidUIAutomator("new UiSelector().className(\"android.widget.TextView\").text(\"机票\")").Click();
            Thread.Sleep(3000);
            driver.Quit();
        }
        private void _RefreshItems(object state)
        {
            bool firstTime = false;
            // start the driver
            if (_Driver == null)
            {
                firstTime = true;
                Message = "Attempting to connect to Appium";

                try
                {
                    Dictionary<string, object> capsDef = new Dictionary<string, object>();

                    // Only set automation name if it isn't equal to the default
                    if (_Settings.AutomationName != "Appium")
                    {
                        capsDef.Add("automationName", _Settings.AutomationName);
                    }

                    if (_Settings.UseDeviceName && _Settings.DeviceName != "")
                    {
                        capsDef.Add("deviceName", _Settings.DeviceName);
                    }

                    if (!_Settings.UseAndroidBrowser)
                    {
                        if (_Settings.UseApplicationPath && _Settings.ApplicationPath != "")
                        {
                            capsDef.Add("app", _Settings.ApplicationPath);
                        }

                        if (_Settings.UseAndroidActivity && _Settings.AndroidActivity != "")
                        {
                            capsDef.Add("appActivity", _Settings.AndroidActivity);
                        }

                        if (_Settings.UseAndroidPackage && _Settings.AndroidPackage != "")
                        {
                            capsDef.Add("appPackage", _Settings.AndroidPackage);
                        }

                        if (_Settings.UseAndroidWaitForActivity && _Settings.AndroidWaitForActivity != "")
                        {
                            capsDef.Add("appWaitActivity", _Settings.AndroidWaitForActivity);
                        }

                        if (_Settings.UseAndroidWaitForPackage && _Settings.AndroidWaitForPackage != "")
                        {
                            capsDef.Add("appWaitPackage", _Settings.AndroidWaitForPackage);
                        }
                    }
                    else
                    {
                        capsDef.Add("browserName", _Settings.AndroidBrowser);
                    }

                    if (_Settings.UseAndroidDeviceReadyTimeout && _Settings.AndroidDeviceReadyTimeout.ToString() != "")
                    {
                        capsDef.Add("deviceReadyTimeout", _Settings.AndroidDeviceReadyTimeout.ToString());
                    }

                    if (_Settings.UseCoverageClass && _Settings.CoverageClass != "")
                    {
                        capsDef.Add("androidCoverage", _Settings.CoverageClass);
                    }

                    if (_Settings.UseAndroidIntentAction && _Settings.AndroidIntentAction != "")
                    {
                        capsDef.Add("intentAction", _Settings.AndroidIntentAction);
                    }

                    if (_Settings.UseAndroidIntentCategory && _Settings.AndroidIntentCategory != "")
                    {
                        capsDef.Add("intentCategory", _Settings.AndroidIntentCategory);
                    }

                    if (_Settings.UseAndroidIntentFlags && _Settings.AndroidIntentFlags != "")
                    {
                        capsDef.Add("intentFlags", _Settings.AndroidIntentFlags);
                    }

                    if (_Settings.UseAndroidIntentArguments && _Settings.AndroidIntentArguments != "")
                    {
                        capsDef.Add("optionalIntentArguments", _Settings.AndroidIntentArguments);
                    }

                    // Include the platform if any of the capabilities were set
                    if (capsDef.Count != 0 && _Settings.PlatformName != "")
                    {
                        capsDef.Add("platformName", _Settings.PlatformName);
                    }

                    _Driver = new AppiumDriver(new Uri(String.Format("http://{0}:{1}/wd/hub", _Settings.IPAddress, _Settings.Port)), new DesiredCapabilities(capsDef));
                }
                catch
                {
                    MessageBox.Show("Failed to connect to the server. Please check that it is running.", "Inspector Connection Error", MessageBoxButton.OK, MessageBoxImage.Error);
                    Message = "Failed to connect to Appium";
                }

                if (_Driver == null)
                {
                    if (_Settings.UseRemoteServer)
                    {
                        Message = "Failed to connect to remote Appium server";
                    }
                    else
                    {
                        Message = "Failed to connect to Appium";
                    }

                    return;
                }
            }

            Message = "Updating";

            string pageSource = null;
            // grab the page source and parse it
            try
            {
                if (!string.IsNullOrWhiteSpace(pageSource = _Driver.PageSource))
                {
                    _CleanUpRoot();
                    var root = _ConvertToUIAutomatorNode(pageSource);
                    _RootNode = new NodeTree<UIAutomatorNodeVM>();
                    UIAutomatorNodeVM vm = new UIAutomatorNodeVM(root, vm_SelectionChanged);
                    _RootNode.Add(vm);
                    FirePropertyChanged(() => RootNode);
                }
                else
                {
                    Message = "Error getting page source";
                }
            }
            catch (Exception e)
            {
                Message = String.Format("Error getting source page: {0}", e.Message);
            }

            if (firstTime)
            {
                // added sleep timer here since the setup I had was pulling in the "previous" picture
                System.Threading.Thread.Sleep(300);
            }

            // grab the image
            Screenshot screenshot = null;
            try
            {
                screenshot = _Driver.GetScreenshot();
            }
            catch (Exception e)
            {
                Message = String.Format("Error getting screenshot: {0}", e.Message);
            }
            finally
            {
                if (screenshot != null)
                {
                    ImageByteArray = screenshot.AsByteArray;

                    if (ImageByteArray == null)
                    {
                        Message = "Error getting screenshot";
                    }
                }
                else
                {
                    Message = "Error getting screenshot";
                }
            }
            
            // Show success message if the "Updating" message was not changed
            if (Message.Equals("Updating"))
            {
                Message = string.Format("Last successfully updated on {0}", DateTime.Now);
            }
        }
Exemplo n.º 24
0
 public AdminInfoScreen(AppiumDriver _driver)
 {
     driver = _driver;
 }
Exemplo n.º 25
0
        /// <summary>
        /// 跑真机 
        /// </summary>
        public void TestAPPDevices()
        {
            string appPath = @"D:\git-zjs\Appium-Test-ios-android\AppiumDriverDemo\Apps\ctrip_9013.apk";
            //string appPath = @"F:\Test-zj-2014\Appium-Test-ios-android\AppiumDriverDemo\Apps\ctrip_9013.apk";
            DesiredCapabilities cap = new DesiredCapabilities();
            cap.SetCapability("deviceName", "HC44DWM01308");    // 真机
            cap.SetCapability("platformName", "Android");    // 真机
            cap.SetCapability("udid", "HC44DWM01308");    // 真机
            cap.SetCapability("app", appPath);
            cap.SetCapability("appPackage", "ctrip.android.view");
            cap.SetCapability("appActivity", "ctrip.android.view.home.CtripSplashActivity");
            var driver = new AppiumDriver(new Uri("http://localhost:4723/wd/hub"), cap);

            Thread.Sleep(15000);
            try
            {
                var isEXIT = driver.FindElement(By.Name("以后再说"));
                if (isEXIT != null)
                {
                    driver.FindElement(By.Name("以后再说")).Click();

                }

            }
            catch (Exception ex)
            {

            }

            Thread.Sleep(2000);

            #region  通过js执行滑动屏幕的功能
            IJavaScriptExecutor js = (IJavaScriptExecutor)driver;
            Hashtable swipObj = new Hashtable();
            swipObj.Add("startX", 300.0);
            swipObj.Add("startY", 300.0);
            swipObj.Add("endX", 20.0);
            swipObj.Add("endY", 20.0);
            swipObj.Add("duration", 0.5);
            js.ExecuteScript("mobile: swipe", swipObj);
            Thread.Sleep(2000);
            js.ExecuteScript("mobile: swipe", swipObj);
            Thread.Sleep(2000);
            js.ExecuteScript("mobile: swipe", swipObj);
            Thread.Sleep(2000);
            js.ExecuteScript("mobile: swipe", swipObj);
            #endregion
            Thread.Sleep(3000);

            //方式1  定位
            //driver.FindElement(By.Name("机票")).Click();

            //方式2  定位
            //driver.FindElementByAndroidUIAutomator("new UiSelector().className(\"android.widget.TextView\").text(\"机票\")").Click();
            //Thread.Sleep(7000);

            //下单---针对门票

            //登陆--我的携程
            driver.FindElement(By.Name("我的携程")).Click();
            Thread.Sleep(3000);
            driver.FindElement(By.Name("点击登录")).Click();
            Thread.Sleep(3000);

            driver.FindElement(By.Name("携程用户名/绑定手机/邮箱/卡号")).SendKeys("test111111");
            Thread.Sleep(3000);

            var editTexts = driver.FindElements(By.ClassName("android.widget.EditText"));
            Thread.Sleep(3000);
            editTexts[editTexts.Count - 1].SendKeys("123456789");
            Thread.Sleep(3000);

            driver.FindElements(By.ClassName("android.widget.Button"))[0].Click();
            Thread.Sleep(9000);

            //我的携程
            driver.FindElement(By.Name("首页")).Click();
            Thread.Sleep(3000);

            driver.FindElement(By.Name("度假")).Click();
            Thread.Sleep(2000);

            driver.FindElement(By.Id("ctrip.android.view:id/inquire_ticket")).Click();
            Thread.Sleep(10000);

            //搜索框
            //driver.FindElementByAccessibilityId("景点名称/城市/游玩主题").Click(); //该方法成功了
            //Thread.Sleep(10000);
            //driver.FindElement(By.ClassName("android.widget.EditText")).SendKeys("上海");
            //Thread.Sleep(5000);
            //driver.FindElementByAccessibilityId("搜索").Click();
            //Thread.Sleep(5000);

            //其他定位方式 未成功
            //driver.FindElementByAndroidUIAutomator("new UiSelector().className(\"android.widget.TextView\").text(\"机票\")").Click();
            //driver.FindElementByAndroidUIAutomator("new UiSelector().Desctiption(\"景点名称/城市/游玩主题\")").Click();
            //driver.FindElements(By.ClassName("android.widget.RelativeLayout"))[1].FindElements(By.ClassName("android.view.View"))[8].Click();
            //driver.FindElements(By.ClassName("android.widget.RelativeLayout"))[1].Click();

            //Thread.Sleep(5000);
            //driver.FindElement(By.ClassName("android.widget.EditText")).SendKeys("上海");
            //Thread.Sleep(5000);

            #region  其余后面的步骤
            driver.FindElementByAccessibilityId("上海").Click();
            Thread.Sleep(5000);

            //上海科技馆 Heading
            driver.FindElementByAccessibilityId("上海科技馆 Heading").Click();
            Thread.Sleep(5000);

            driver.FindElementByAccessibilityId("预订").Click();
            Thread.Sleep(5000);

            driver.FindElementByAccessibilityId("请选择游玩日期").Click();
            Thread.Sleep(5000);

            driver.FindElementByAccessibilityId("17").Click();
            Thread.Sleep(9000);

            driver.FindElementByAccessibilityId("接收确认短信").Click();
            Thread.Sleep(9000);

            driver.FindElementByAccessibilityId("测试").Click();
            Thread.Sleep(5000);

            driver.FindElementByAccessibilityId("下一步").Click();
            Thread.Sleep(9000);

            driver.FindElementByAccessibilityId("常用卡支付").Click();
            Thread.Sleep(5000);

            driver.FindElementByAccessibilityId("宁波银行-信用卡").Click();
            Thread.Sleep(5000);

            driver.FindElements(By.ClassName("android.widget.EditText"))[0].SendKeys("0003");
            Thread.Sleep(5000);

            driver.FindElements(By.ClassName("android.widget.Button"))[0].Click();
            Thread.Sleep(5000);

            //返回
            driver.FindElements(By.ClassName("android.view.View"))[0].Click();
            Thread.Sleep(5000);

            //返回我的携程退票操作
            driver.FindElement(By.Name("我的携程")).Click();
            Thread.Sleep(5000);

            driver.FindElement(By.Name("全部订单")).Click();
            Thread.Sleep(5000);

            driver.FindElement(By.Name("景点门票订单")).Click();
            Thread.Sleep(15000);

            driver.FindElementByAccessibilityId("申请取消").Click();
            Thread.Sleep(9000);

            driver.FindElementByAccessibilityId("申请取消").Click();
            Thread.Sleep(9000);

            driver.FindElementByAccessibilityId("确认").Click();
            Thread.Sleep(9000);
            #endregion
        }
Exemplo n.º 26
0
 public AdminInfoScreen(AppiumDriver _driver)
 {
     driver = _driver;
     trait = "UIAApplication[1]/UIAWindow[1]/UIAScrollView[1]/UIAButton[1]";
 }
Exemplo n.º 27
0
        public void SetUp()
        {
            DesiredCapabilities capabilities = new DesiredCapabilities();
            capabilities.SetCapability("device", "Android");
            capabilities.SetCapability("deviceName", "device");
            capabilities.SetCapability("platformName", "Android");
            capabilities.SetCapability("useKeystore", "true");
            capabilities.SetCapability("keystorePath", "C:/Users/andrey/.android/debug.keystore");

            driver = new AndroidDriver(new Uri("http://127.0.0.1:4723/wd/hub"), capabilities, TimeSpan.FromSeconds(180));
        }
Exemplo n.º 28
0
        public void beforeAll()
        {
            string appPath = @"D:\git-zjs\Appium-Test-ios-android\AppiumDriverDemo\Apps\UCBrowser_V9.8.0.435_Android_pf145_(Build14052717).apk";
            DesiredCapabilities cap = new DesiredCapabilities();
            //cap.SetCapability("appium-version", "1.0");
            cap.SetCapability(CapabilityType.BrowserName, "");
            cap.SetCapability("platformName", "Android");
            cap.SetCapability("browserName", "UC Browser");
            cap.SetCapability("udid", "emulator-5554");  //三星手机 //4d00627749d2a037  //三星手机2  1844d244  红米手机 //EAZSRK6HIJHEAYSK   小米3 //bba1bd7
            cap.SetCapability("app", appPath);

            //UC Browser设置
            cap.SetCapability("app-package", "com.UCMobile");
            cap.SetCapability("app-activity", "com.UCMobile/com.uc.browser.InnerUCMobile");

            drivers = new AppiumDriver(new Uri("http://localhost:4723/wd/hub"), cap);

            Thread.Sleep(35000);
        }
 /// <summary>
 /// Initializes a new instance of the AppiumWebElement class.
 /// </summary>
 /// <param name="parent">Driver in use.</param>
 /// <param name="id">ID of the element.</param>
 public AppiumWebElement(AppiumDriver parent, string id)
     : base(parent, id)
 {
 }
 /// <summary>
 /// Initializes a new instance of the AppiumWebElement class.
 /// </summary>
 /// <param name="parent">Driver in use.</param>
 /// <param name="id">ID of the element.</param>
 public AppiumWebElement(AppiumDriver parent, string id)
     : base(parent, id)
 {
 }
Exemplo n.º 31
0
 public ResultsPage(AppiumDriver<AppiumWebElement> driver)
 {
     _driver = driver;
     PageFactory.InitElements(driver, this);
 }