コード例 #1
0
        public void AfterClass()
        {
            try
            {
                ConsoleMessage.StartTest("Share flow with user: Clean up", "ShareFlow");
                Appium.Instance.Driver.LaunchApp();
                LoginActivity.LoginStep(_user1, _timeout);
                BrowserActivity.AssayList.FindAndTap(_assay);
                BrowserActivity.DeleteAllFlows();
                BrowserActivity.DeleteAssay.Tap();
                AssayDeleteDialog.Delete.Tap();
                //delete team
                TabMenu.Teams.Tap();
                TeamActivity.TeamList.FindAndTap(_team);
                TeamActivity.Dismiss.Tap();
                TeamDeleteDialog.Delete.Tap();
                CommonOperation.Delay(5);
                TabMenu.Logout.Tap();

                LoginActivity.LoginStep(_user2, _timeout);
                BrowserActivity.AssayList.FindAndTap(_assayRec);
                BrowserActivity.DeleteAllFlows();
                BrowserActivity.DeleteAssay.Tap();
                AssayDeleteDialog.Delete.Tap();
            }
            finally
            {
                Appium.Instance.Driver.CloseApp();
                ConsoleMessage.EndTest();
            }
        }
コード例 #2
0
        public void ShareAsasyWithUserTest()
        {
            Permission permission = new Permission(true, true, true, true);

            ConsoleMessage.StartTest("Share assay with user", "ShareAssay");
            Appium.Instance.Driver.LaunchApp();
            LoginActivity.LoginStep(_user1, _timeout);
            BrowserActivity.CreateAssay(_assay);
            BrowserActivity.CreateFlow(_flow);
            BrowserActivity.FlowList.FindAndTap(_flow);
            FlowActivity.AddElement(element1);
            FlowActivity.ElementList.VerifyElementCountByClass(1, "android.widget.EditText");
            TabMenu.Browser.Tap();
            BrowserActivity.AssayList.FindAndTap(_assay);
            BrowserActivity.ShareAssay.Tap();
            AssayShareDialog.ShareWithUserStep(_team, _user2.Name, permission);
            CommonOperation.Delay(_shareDelay);
            TabMenu.Logout.Tap();

            //verify shared assay
            LoginActivity.LoginStep(_user2, _timeout);
            CommonOperation.Delay(_loginDelay);
            BrowserActivity.AssayList.FindAndTap("Shared With: " + _user1.Name);
            BrowserActivity.FlowList.FindAndTap(_assay);
            BrowserActivity.FlowList.FindAndTap(_flow);
            FlowActivity.ElementList.VerifyElementCountByClass(1, "android.widget.EditText");
            TabMenu.Logout.Tap();
        }
コード例 #3
0
 public static void VerifyCantShareLibrary(string libraryName)
 {
     try
     {
         ReadOnlyCollection <AppiumWebElement> libList =
             LibraryList.GetInternalElement().FindElementsById("library_row_layout");
         foreach (var element in libList)
         {
             if (element.FindElementById("library_title").Text == libraryName)
             {
                 element.Click();
                 element.FindElementById("chkLibrary").Click();
                 CommonOperation.Delay(1);
                 Assert.False(Boolean.Parse(element.FindElementById("chkLibrary").GetAttribute("checked")),
                              "Can check " + libraryName + " checkbox without share permission");
                 ConsoleMessage.Pass(String.Format("{0}. Can't Checked library for share with name: {1} without permission", ActivityName, libraryName));
                 return;
             }
         }
     }
     catch (Exception ex)
     {
         ConsoleMessage.Fail(String.Format("{0}. Can checked library for share with name: {1} without permission", ActivityName, libraryName), ex);
         throw;
     }
 }
コード例 #4
0
        public void BeforeClass()
        {
            _user1      = Settings.Instance.User1;
            _user2      = Settings.Instance.User2;
            _timeout    = Settings.Instance.LoginTimeout;
            _shareDelay = Settings.Instance.ShareDelay;
            _loginDelay = Settings.Instance.LoginDelay;
            _version    = Settings.Instance.Version;
            _assay      = string.Format("{0}-ShareAssayWithUser", _version);
            _flow       = string.Format("{0}-ShareAssayWithUser", _version);
            _team       = String.Format("!{0}-ShareAssay", _version);

            ConsoleMessage.StartTest("Share assay with user: Setup", "ShareAssay");
            try
            {
                Appium.Instance.Driver.LaunchApp();
                LoginActivity.LoginStep(_user1, _timeout);
                TabMenu.Teams.Tap();
                TeamActivity.NewTeam.Tap();
                TeamCreateDialog.TeamName.EnterText(_team);
                TeamCreateDialog.Create.Tap();
                TeamActivity.TeamMemberList.VerifyElementCountById(1, "user_picture");
                //add user to team
                TeamActivity.AddUserToTeam(_user2.Name);
                TeamActivity.TeamMemberList.VerifyElementCountById(2, "user_picture");
                CommonOperation.Delay(5);
                TabMenu.Logout.Tap();
            }
            finally
            {
                Appium.Instance.Driver.CloseApp();
                ConsoleMessage.EndTest();
            }
        }
コード例 #5
0
ファイル: AirLineHandle.cs プロジェクト: hkmujj/vin_zone_2009
        public string RouteTest(string strDeparture, string strArrival, DateTime?departureTime, string strFlightNo)
        {
            FactoryContribution factoryContribution = new FactoryContribution();

            IRouteFactory routeFactory = factoryContribution.CreateFactory();

            if (routeFactory == null)
            {
                return(string.Empty);
            }

            IRouteOperation routeOperation = routeFactory.CreateRouteInstance();

            IRegexExpression regexExpression = routeFactory.CreateRouteRegex();

            if (strDeparture.ToUpper().Equals("PEK") || strDeparture.ToUpper().Equals("NAY"))
            {
                strDeparture = "BJS";
            }

            if (strArrival.ToUpper().Equals("PEK") || strArrival.ToUpper().Equals("NAY"))
            {
                strArrival = "BJS";
            }

            string strUrl = CommonOperation.GetConfigValueByKey(Constant.CCTRIPPATH);

            if (!string.IsNullOrEmpty(strFlightNo))
            {
                strUrl = CommonOperation.GetConfigValueByKey(Constant.CCTRIPSUBURL);
            }

            return(routeOperation.GetHtmlContent(string.Format(strUrl, strDeparture, strArrival, departureTime.Value.ToString("yyyy-MM-dd"), strFlightNo)));
        }
コード例 #6
0
        private string ControlResponse(string strUrl)
        {
            if (string.IsNullOrEmpty(strUrl))
            {
                return(string.Empty);
            }

            string strRegexExpression = CommonOperation.GetConfigValueByKey(Constant.CTRAVELSKY);

            string strDeparture     = RegexOperation.GetValueByRegex(string.Format(strRegexExpression, Constant.CORGCITY), strUrl);
            string strArrival       = RegexOperation.GetValueByRegex(string.Format(strRegexExpression, Constant.CDSTCITY), strUrl);
            string strDepartureTime = RegexOperation.GetValueByRegex(string.Format(strRegexExpression, Constant.CFLYDATE), strUrl);

            DateTime?departureTime = Convert.ToDateTime(strDepartureTime.Substring(0, 4)
                                                        + "-" + strDepartureTime.Substring(4, 2)
                                                        + "-" + strDepartureTime.Substring(6, 2));

            IList <RouteInformation> routeInformationList = RequestRoute(strDeparture, strArrival, departureTime);

            if (routeInformationList == null)
            {
                return(string.Empty);
            }

            return(CommonOperation.GetXmlOfFlightInformation(routeInformationList));
        }
コード例 #7
0
        /// <summary>
        /// 获取请求的URL
        /// </summary>
        /// <param name="strDeparture">出发地</param>
        /// <param name="strArrival">到达地</param>
        /// <param name="departureTime">出发时间</param>
        /// <returns></returns>
        public string GetRequestUrl(string strDeparture, string strArrival, DateTime?departureTime)
        {
            string strUrl = CommonOperation.GetConfigValueByKey(Constant.CVERYWAITINGTRIPURL);

            SetFlightDate(departureTime);

            return(string.Format(strUrl, strDeparture, strArrival, departureTime.Value.ToShortDateString()));
        }
コード例 #8
0
        public CtripRegexExpression()
        {
            XPathNavigator navigator = RegexOperation.GetXPathNavigatorByPath(CommonOperation.GetConfigValueByKey(Constant.CCTRIPPATH));

            nodeIterator = navigator.Select(Constant.CREGEXEXPRESSION);

            nodeIterator.MoveNext();
        }
        public void ShareLibraryAndRemoveUserFromTeamTest()
        {
            Permission permission = new Permission(false, true, true, true);

            ConsoleMessage.StartTest("Share library with team and remove user from team", "ShareLibrary");
            //Login as Library owner and share a library with a Team
            Appium.Instance.Driver.LaunchApp();
            LoginActivity.LoginStep(_user1, _timeout);
            TabMenu.Library.Tap();
            LibraryActivity.LibraryList.FindAndTap(_baseLibrary);
            LibraryActivity.SelectAndShareLibrary(_baseLibrary, _shareName);
            LibraryShareDialog.ShareWithTeamStep(_team, permission);
            CommonOperation.Delay(_shareDelay);
            TabMenu.Logout.Tap();

            //Login as a Team member and verify user received the shared library
            LoginActivity.LoginStep(_user2, _timeout);
            CommonOperation.Delay(_loginDelay);
            TabMenu.Library.Tap();
            LibraryActivity.LibraryList.FindAndTap(_shareName);
            LibraryActivity.ElementList.VerifyElementCountById(1, "library_document_icon");
            TabMenu.Logout.Tap();

            //Login as Owner and add a new user to the team
            LoginActivity.LoginStep(_user1, _timeout);
            TabMenu.Teams.Tap();
            CommonOperation.Delay(2);
            TeamActivity.TeamList.FindAndTap(_team);
            TeamActivity.AddUserToTeam(_user3.Name);
            TeamActivity.TeamMemberList.VerifyElementCountById(3, "user_picture");
            CommonOperation.Delay(_shareDelay);
            TabMenu.Logout.Tap();

            //Login as new user and verify user received shared library
            LoginActivity.LoginStep(_user3, _timeout);
            CommonOperation.Delay(_loginDelay);
            TabMenu.Library.Tap();
            LibraryActivity.LibraryList.FindAndTap(_shareName);
            LibraryActivity.ElementList.VerifyElementCountById(1, "library_document_icon");
            TabMenu.Logout.Tap();

            //Login as Owner and remove the new user from the team
            LoginActivity.LoginStep(_user1, _timeout);
            TabMenu.Teams.Tap();
            CommonOperation.Delay(2);
            TeamActivity.TeamList.FindAndTap(_team);
            TeamActivity.RemoveUserFromTeam(_user3.Name);
            TeamActivity.TeamMemberList.VerifyElementCountById(2, "user_picture");
            CommonOperation.Delay(_shareDelay);
            TabMenu.Logout.Tap();

            //Login as new user and verify user does not have the shared library
            LoginActivity.LoginStep(_user3, _timeout);
            CommonOperation.Delay(_loginDelay);
            TabMenu.Library.Tap();
            LibraryActivity.VerifyLibraryNotExist(_shareName);
            TabMenu.Logout.Tap();
        }
コード例 #10
0
        /// <summary>
        ///     进行检测
        /// </summary>
        /// <param name="imageData">图像数据</param>
        /// <param name="width">图像宽度</param>
        /// <param name="height">图像高度</param>
        /// <param name="result">识别结果</param>
        /// <returns>成功返回 MOK,否则返回失败 code</returns>
        public override ErrorCode Detect(byte[] imageData, int width, int height, out LocateResult result)
        {
            var ret = ErrorCode.Ok;

            result = CommonOperation.OffInputOperation(imageData, width, height,
                                                       (offInput, pImageData) => Detect(offInput, pImageData, out ret));

            return(ret);
        }
コード例 #11
0
        /// <summary>
        ///     进行检测
        /// </summary>
        /// <param name="image">待检测的图像数据</param>
        /// <param name="result">检测结果</param>
        /// <returns>成功返回 MOK,否则返回失败 code</returns>
        public override ErrorCode Detect(Bitmap image, out LocateResult result, LocateOperation operation = LocateOperation.None)
        {
            var ret = ErrorCode.Ok;

            result = CommonOperation.OffInputOperation(image,
                                                       (offInput, pImageData) => Detect(offInput, pImageData, out ret, operation));

            return(ret);
        }
コード例 #12
0
        public int LogUTData(string question_id, int UT, string UTComments)
        {
            string myalias   = System.Web.HttpContext.Current.User.Identity.Name.Substring(System.Web.HttpContext.Current.User.Identity.Name.IndexOf("\\") + 1);
            string LogDate   = new CommonOperation().DateTimetoUnixStamp(DateTime.Now).ToString();
            int    currentUT = new DAL().GetUTDataByQuestionID(question_id);

            new DAL().AddUTData(question_id, myalias, UT, UTComments, LogDate);
            return(currentUT + UT);
        }
コード例 #13
0
        public void ChainFlowsAndExe()
        {
            string     parentFlow  = "Parent";
            string     nestedFlow1 = "Nested1";
            Permission permission  = new Permission(true, true, true, true);

            ConsoleMessage.StartTest("Flow Object: Chain and Exe", "FlowObject");
            Appium.Instance.Driver.LaunchApp();
            LoginActivity.LoginStep(_user1, _timeout);
            BrowserActivity.CreateAssay(_assay);
            //setup parent
            BrowserActivity.CreateFlow(parentFlow);
            BrowserActivity.FlowList.FindAndTap(parentFlow);
            FlowActivity.AddElement("Add");
            FlowActivity.AddElement("Flow");
            FlowActivity.ElementList.VerifyElementCountByClass(2, "android.widget.EditText");
            TabMenu.Browser.Tap();
            //setup nested1
            BrowserActivity.AssayList.FindAndTap(_assay);
            BrowserActivity.CreateFlow(nestedFlow1);
            BrowserActivity.FlowList.FindAndTap(nestedFlow1);
            FlowActivity.AddElement("Add");
            FlowActivity.ElementList.VerifyElementCountByClass(1, "android.widget.EditText");
            TabMenu.Browser.Tap();

            //link parent and nested1
            BrowserActivity.AssayList.FindAndTap(_assay);
            BrowserActivity.FlowList.FindAndTap(parentFlow);
            FlowActivity.ElementList.FindAndTap("Flow");
            FlowElementDialog.SelectFlow.Tap();
            FlowSelectNesting.ItemList.FindAndTap(_assay);
            FlowSelectNesting.ItemList.FindAndTap(nestedFlow1);
            FlowElementDialog.Ok.Tap();
            FlowActivity.ElementList.FindAndTap(nestedFlow1);
            FlowElementDialog.ShowNested.Tap();
            FlowActivity.FlowName.VerifyText(nestedFlow1);
            FlowActivity.NavPanel(NavPanel.Parent);
            //share
            FlowActivity.Share.Tap();
            FlowActivity.ShareOk.Tap();
            FlowShareNestedDialog.Yes.Tap();
            FlowShareDialog.ShareWithUserStep(_team, _user2.Name, permission);
            CommonOperation.Delay(_shareDelay);
            TabMenu.Logout.Tap();

            //check shared flow on recipient
            LoginActivity.LoginStep(_user2, _timeout);
            CommonOperation.Delay(_loginDelay);
            BrowserActivity.AssayList.FindAndTap("Shared With: " + _user1.Name);
            BrowserActivity.FlowList.FindAndTap(_assay);
            BrowserActivity.FlowList.FindAndTap(parentFlow);
            FlowActivity.ElementList.VerifyElementCountByClass(2, "android.widget.EditText");
            FlowActivity.ElementList.FindAndTap(nestedFlow1);
            FlowElementDialog.ShowNested.Tap();
            FlowActivity.FlowName.VerifyText(nestedFlow1);
        }
コード例 #14
0
        /// <summary>
        ///     进行检测
        /// </summary>
        /// <param name="imageData">图像数据</param>
        /// <param name="width">图像宽度</param>
        /// <param name="height">图像高度</param>
        /// <param name="result">识别结果</param>
        /// <param name="pixelSize">像素大小</param>
        /// <param name="operation">人脸检测额外操作</param>
        /// <returns>成功返回 MOK,否则返回失败 code</returns>
        public override ErrorCode Detect(byte[] imageData, int width, int height, out LocateResult result,
                                         int pixelSize = 3, LocateOperation operation = LocateOperation.None)
        {
            var ret = ErrorCode.Ok;

            result = CommonOperation.OffInputOperation(imageData, width, height,
                                                       (offInput, pImageData) => Detect(offInput, pImageData, out ret, operation), pixelSize);

            return(ret);
        }
コード例 #15
0
        public void ViewOnly()
        {
            string     flowName   = "View";
            Permission permission = new Permission(true, false, false, false);

            //create flow
            ConsoleMessage.StartTest("Share flow with user: View", "ShareFlow");
            Appium.Instance.Driver.LaunchApp();
            LoginActivity.LoginStep(_user1, _timeout);
            BrowserActivity.AssayList.FindAndTap(_assay);
            BrowserActivity.CreateFlow(flowName);
            BrowserActivity.FlowList.FindAndTap(flowName);
            FlowActivity.AddElement(element1);
            FlowActivity.AddElement(element2);
            FlowActivity.AddElement(element3);
            FlowActivity.ElementList.VerifyElementCountByClass(3, "android.widget.EditText");
            //share

            //worked
//            FlowActivity.Share.Tap();
//            FlowActivity.ShareOk.Tap();
//            FlowShareDialog.TeamList.FindAndTap(_team);
//            FlowShareDialog.AddUser(_user2.Name);
//            FlowShareDialog.ShareWithList.VerifyElementCountById(1, "user_picture");
//            FlowShareDialog.SetPermission(permission);
//            FlowShareDialog.Ok.Tap();

            FlowActivity.Share.Tap();
            FlowActivity.ShareOk.Tap();
            FlowShareDialog.ShareWithUserStep(_team, _user2.Name, permission);
            CommonOperation.Delay(_shareDelay);
            TabMenu.Logout.Tap();
            //verify
            LoginActivity.LoginStep(_user2, _timeout);
            CommonOperation.Delay(_loginDelay);
            BrowserActivity.AssayList.FindAndTap("Shared With: " + _user1.Name);
            BrowserActivity.FlowList.FindAndTap(_assay);
            BrowserActivity.FlowList.FindAndTap(flowName);
            FlowActivity.ElementList.VerifyElementCountByClass(3, "android.widget.EditText");
            //verify can't add element
            FlowActivity.AddElement("Add");
            FlowActivity.ElementList.VerifyElementCountByClass(3, "android.widget.EditText");
            //verify can't delete element
            FlowActivity.DeleteElement("Add");
            FlowActivity.ElementList.VerifyElementCountByClass(3, "android.widget.EditText");
            //verify can't share flow
            FlowActivity.Share.Tap();
            FlowPermissionErrorDialog.DialogName.VerifyText("Share Permission");
            FlowPermissionErrorDialog.Ok.Tap();
            //verify can't delete flow
            FlowActivity.DeleteFlow.Tap();
            FlowPermissionErrorDialog.DialogName.VerifyText("Delete Permission");
            FlowPermissionErrorDialog.Ok.Tap();
            TabMenu.Logout.Tap();
        }
コード例 #16
0
        private static CommonOperation <T> CommonPart <T>(CommonOperation <T> openedApp, MethodBase method)
        {
            var g = new ImageNameGenerator(method);

            void Shot() => openedApp.GetSession().ShotScreen(g.Gen());

            return(openedApp.OpenFileTab().ViewOption().CheckText().ExecuteExternalAction(Shot)
                   .CheckTip().ExecuteExternalAction(Shot)
                   .CheckLink1().ExecuteExternalAction(Shot)
                   .CheckLink2().ExecuteExternalAction(Shot));
        }
コード例 #17
0
        private static CommonOperation <T> CommonPart <T>(CommonOperation <T> openedApp, MethodBase method)
        {
            var g = new ImageNameGenerator(method);

            void Shot() => Word.Session.ShotScreen(g.Gen());
            void Shot2() => openedApp.GetSession().ShotScreen(g.Gen());

            var res = openedApp.OpenFileTab().ViewOption().UncheckedLinkedInOption().ExecuteExternalAction(Shot2).ClickOkButton();

            Word.Open().OpenFileTab().NewBluegreyResume().ExecuteExternalAction(Shot).ResumeAssistant().ExecuteExternalAction(Shot).Close();
            return(res);
        }
コード例 #18
0
ファイル: TopTen.cs プロジェクト: swigithub/MVC
 public TopTen(string ExceptionLogPth, string FilePth, string SignalRAPi, ref List <ClientInfo> LstClntInfo, bool WriteLgFile, bool WriteExcetionLg, List <string> IMEICollect, string ConnectionStr, bool CheckIndividualTrackerFromDb)
 {
     ExceptionLogPath           = ExceptionLogPth;
     LogFilePath                = FilePth;
     SgnalRApi                  = SignalRAPi;
     ObjComnOp                  = new CommonOperation(LogFilePath, ExceptionLogPath, SignalRAPi);
     ClientLst                  = LstClntInfo;
     WriteLogFile               = WriteLgFile;
     WriteExceptionLog          = WriteExcetionLg;
     DeviceIDCollection         = IMEICollect;
     ObjVehiclesBL              = new FM_VehicleBL(ConnectionStr);
     ChkIndividualTrackerFromDb = CheckIndividualTrackerFromDb;
 }
コード例 #19
0
        public void ShareOnly()
        {
            string     shareName     = string.Format("{0}=Share", _version);
            string     reshareName   = string.Format("{0}=Rshr", _version);
            Permission permission    = new Permission(true, true, false, false);
            Permission allPermission = new Permission(true, true, true, true);

            ConsoleMessage.StartTest("Share library with user: Share", "ShareLibrary");
            //share on owner
            Appium.Instance.Driver.LaunchApp();
            LoginActivity.LoginStep(_user1, _timeout);
            TabMenu.Library.Tap();
            LibraryActivity.SelectAndShareLibrary(_baseLibrary, shareName);
            LibraryShareDialog.ShareWithUserStep(_team, _user2.Name, permission);
            CommonOperation.Delay(_shareDelay);
            TabMenu.Logout.Tap();

            //verify on recipient
            LoginActivity.LoginStep(_user2, _timeout);
            CommonOperation.Delay(_loginDelay);
            TabMenu.Library.Tap();
            LibraryActivity.LibraryList.FindAndTap(shareName);
            LibraryActivity.ElementList.VerifyElementCountById(20, "library_document_icon");
            //verify can't add element
            LibraryActivity.AddElement.Tap();
            LibraryPermissionErrorDialog.DialogName.VerifyText("Add Permission");
            LibraryPermissionErrorDialog.Ok.Tap();
            //verify can't delete library
            LibraryActivity.DeleteLibrary.Tap();
            LibraryPermissionErrorDialog.DialogName.VerifyText("Delete Permission");
            LibraryPermissionErrorDialog.Ok.Tap();
            //verify can't delete library element
            LibraryActivity.ElementList.FindAndTap("Add");
            LibraryElementActivity.Delete.Tap();
            LibraryPermissionErrorDialog.DialogName.VerifyText("Delete Permission");
            LibraryPermissionErrorDialog.Ok.Tap();
            LibraryElementActivity.Cancel.Tap();
            //verify can't share library
            LibraryActivity.SelectAndShareLibrary(shareName, reshareName);
            LibraryShareDialog.ShareWithUserStep(_team, _user1.Name, allPermission);
            CommonOperation.Delay(_shareDelay);
            TabMenu.Logout.Tap();

            //verify on owner
            LoginActivity.LoginStep(_user1, _timeout);
            CommonOperation.Delay(_loginDelay);
            TabMenu.Library.Tap();
            LibraryActivity.LibraryList.FindAndTap(reshareName);
            LibraryActivity.ElementList.VerifyElementCountById(20, "library_document_icon");
            TabMenu.Logout.Tap();
        }
コード例 #20
0
        public void Unshare()
        {
            string     flowName   = "Unshare";
            Permission permission = new Permission(true, true, true, true);

            //create flow
            ConsoleMessage.StartTest("Share flow with user: Unshare", "ShareFlow");
            Appium.Instance.Driver.LaunchApp();
            LoginActivity.LoginStep(_user1, _timeout);
            BrowserActivity.AssayList.FindAndTap(_assay);
            BrowserActivity.CreateFlow(flowName);
            BrowserActivity.FlowList.FindAndTap(flowName);
            FlowActivity.AddElement(element1);
            FlowActivity.AddElement(element2);
            FlowActivity.AddElement(element3);
            FlowActivity.ElementList.VerifyElementCountByClass(3, "android.widget.EditText");
            //share
            FlowActivity.Share.Tap();
            FlowActivity.ShareOk.Tap();
            FlowShareDialog.ShareWithUserStep(_team, _user2.Name, permission);
            CommonOperation.Delay(_shareDelay);
            TabMenu.Logout.Tap();
            //verify
            LoginActivity.LoginStep(_user2, _timeout);
            CommonOperation.Delay(_loginDelay);
            BrowserActivity.AssayList.FindAndTap("Shared With: " + _user1.Name);
            BrowserActivity.FlowList.FindAndTap(_assay);
            BrowserActivity.FlowList.FindAndTap(flowName);
            FlowActivity.ElementList.VerifyElementCountByClass(3, "android.widget.EditText");
            TabMenu.Logout.Tap();

            //unshare
            LoginActivity.LoginStep(_user1, _timeout);
            BrowserActivity.AssayList.FindAndTap(_assay);
            BrowserActivity.FlowList.FindAndTap(flowName);
            FlowActivity.Permission.Tap();
            FlowShareDialog.Unshare(_user2.Name);
            FlowShareDialog.ShareWithList.VerifyElementCountById(0, "user_picture");
            FlowShareDialog.Ok.Tap();
            CommonOperation.Delay(_shareDelay);
            TabMenu.Logout.Tap();

            //verify flow not exist
            LoginActivity.LoginStep(_user2, _timeout);
            CommonOperation.Delay(_loginDelay);
            BrowserActivity.AssayList.FindAndTap("Shared With: " + _user1.Name);
            BrowserActivity.FlowList.FindAndTap(_assay);
            BrowserActivity.VerifyFlowNotExist(flowName);
            TabMenu.Logout.Tap();
        }
コード例 #21
0
        public void ModifyOnly()
        {
            string     shareName  = string.Format("{0}=Modify", _version);
            Permission permission = new Permission(true, false, true, false);

            ConsoleMessage.StartTest("Share library with user: Modify", "ShareLibrary");
            //share on owner
            Appium.Instance.Driver.LaunchApp();
            LoginActivity.LoginStep(_user1, _timeout);
            TabMenu.Library.Tap();
            LibraryActivity.SelectAndShareLibrary(_baseLibrary, shareName);
            LibraryShareDialog.ShareWithUserStep(_team, _user2.Name, permission);
            CommonOperation.Delay(_shareDelay);
            TabMenu.Logout.Tap();

            //verify on recipient
            LoginActivity.LoginStep(_user2, _timeout);
            CommonOperation.Delay(_loginDelay);
            TabMenu.Library.Tap();
            LibraryActivity.LibraryList.FindAndTap(shareName);
            LibraryActivity.ElementList.VerifyElementCountById(20, "library_document_icon");
            //verify can add element
            LibraryActivity.AddElement.Tap();
            LibraryElementActivity.ElementName.ClearText();
            LibraryElementActivity.ElementName.EnterText("Element1");
            LibraryElementActivity.Ok.Tap();
            LibraryActivity.ElementList.VerifyElementCountById(21, "library_document_icon");
            //verify can delete library element
            LibraryActivity.ElementList.FindAndTap("Add");
            LibraryElementActivity.Delete.Tap();
            LibraryDeleteElementDialog.Delete.Tap();
            LibraryActivity.ElementList.VerifyElementCountById(20, "library_document_icon");
            //verify can delete library
            LibraryActivity.DeleteLibrary.Tap();
            LibraryDeleteDialog.Cancel.Tap();
            //verify can't share library
            LibraryActivity.ShareLibrary.Tap();
            LibraryActivity.VerifyCantShareLibrary(shareName);
            LibraryActivity.CancelShare.Tap();
            TabMenu.Logout.Tap();

            //verify on owner
            LoginActivity.LoginStep(_user1, _timeout);
            CommonOperation.Delay(_loginDelay);
            TabMenu.Library.Tap();
            LibraryActivity.LibraryList.FindAndTap(shareName);
            LibraryActivity.ElementList.VerifyElementCountById(20, "library_document_icon");
            TabMenu.Logout.Tap();
        }
コード例 #22
0
 public void EnterText(string text)
 {
     try
     {
         Element.Click();
         Element.SendKeys(text);
         CommonOperation.HideKeyboard();
         ConsoleMessage.Pass(String.Format("{0}. Enter text in textbox with name: {1}, Text: {2}",
                                           ActivityName, ElementName, text));
     }
     catch (Exception ex)
     {
         ConsoleMessage.Fail(String.Format("{0}. Can't enter text in textbox with name: {1} and android id: {2}",
                                           ActivityName, ElementName, ElementId), ex);
         throw;
     }
 }
コード例 #23
0
 public void ClearText()
 {
     try
     {
         Element.Click();
         Element.Clear();
         CommonOperation.HideKeyboard();
         ConsoleMessage.Pass(String.Format("{0}. Clear text in textbox with name: {1}",
                                           ActivityName, ElementName));
     }
     catch (Exception ex)
     {
         ConsoleMessage.Fail(String.Format("{0}. Can't clear text in textbox with name: {1} and android id: {2}",
                                           ActivityName, ElementName, ElementId), ex);
         throw;
     }
 }
コード例 #24
0
        private string GetUrl(string strDeparture, string strArrival, DateTime?departureTime, string strFlightNO)
        {
            if (strDeparture.ToUpper().Equals(Constant.CPEK))
            {
                strDeparture = Constant.CBJS;
            }

            if (strDeparture.ToUpper().Equals(Constant.CNAY))
            {
                strDeparture = Constant.CBJS + "," + Constant.CNAY;
            }

            if (strDeparture.ToUpper().Equals(Constant.CPVG))
            {
                strDeparture = Constant.CSHA + "," + Constant.CPVG;
            }

            if (strArrival.ToUpper().Equals(Constant.CPEK))
            {
                strArrival = Constant.CBJS;
            }

            if (strArrival.ToUpper().Equals(Constant.CNAY))
            {
                strArrival = Constant.CBJS + "," + Constant.CNAY;
            }

            if (strArrival.ToUpper().Equals(Constant.CPVG))
            {
                strArrival = Constant.CSHA + "," + Constant.CPVG;
            }

            string strUrl = string.Empty;

            if (string.IsNullOrEmpty(strFlightNO))
            {
                strUrl = CommonOperation.GetConfigValueByKey(Constant.CCTRIPURL);
            }
            else
            {
                strUrl = CommonOperation.GetConfigValueByKey(Constant.CCTRIPSUBURL);
            }

            return(string.Format(strUrl, strDeparture, strArrival, departureTime.Value.ToShortDateString(), strFlightNO));
        }
コード例 #25
0
        public void BeforeClass()
        {
            _user1      = Settings.Instance.User1;
            _user2      = Settings.Instance.User2;
            _user3      = Settings.Instance.User3;
            _timeout    = Settings.Instance.LoginTimeout;
            _shareDelay = Settings.Instance.ShareDelay;
            _loginDelay = Settings.Instance.LoginDelay;
            _version    = Settings.Instance.Version;
            _assay      = string.Format("{0}-ShareFlowAndRemoveUserFromTeam", _version);
            _flow       = string.Format("{0}-ShareFlowAndRemoveUserFromTeam", _version);
            _team       = String.Format("!{0}-Flow{1}", _version, Settings.Instance.TeamRemove);



            ConsoleMessage.StartTest("Share flow with team and remove user from team: Setup", "ShareFlow");
            try
            {
                Appium.Instance.Driver.LaunchApp();
                LoginActivity.LoginStep(_user1, _timeout);
                BrowserActivity.CreateAssay(_assay);
                BrowserActivity.CreateFlow(_flow);
                BrowserActivity.FlowList.FindAndTap(_flow);
                FlowActivity.AddElement(element1);
                FlowActivity.AddElement(element2);
                FlowActivity.AddElement(element3);
                FlowActivity.ElementList.VerifyElementCountByClass(3, "android.widget.EditText");
                //create team
                TabMenu.Teams.Tap();
                CommonOperation.Delay(1);
                TeamActivity.NewTeam.Tap();
                TeamCreateDialog.TeamName.EnterText(_team);
                TeamCreateDialog.Create.Tap();
                TeamActivity.TeamMemberList.VerifyElementCountById(1, "user_picture");
                //add user to team
                TeamActivity.AddUserToTeam(_user2.Name);
                TeamActivity.TeamMemberList.VerifyElementCountById(2, "user_picture");
                CommonOperation.Delay(5);
            }
            finally
            {
                Appium.Instance.Driver.CloseApp();
                ConsoleMessage.EndTest();
            }
        }
コード例 #26
0
 public static void VerifyCell(int row, int col, string data)
 {
     try
     {
         var rowList  = TableList.GetInternalElement().FindElementsById("row_layout");
         var textList = rowList[row].FindElementsByClassName("android.widget.RelativeLayout");
         textList[col].FindElementByName(data);
         CommonOperation.HideKeyboard();
         ConsoleMessage.Pass(String.Format("{0}. Verify Jit Cell[row: {1}, col: {2}] with text: {3}",
                                           ActivityName, row, col, data));
     }
     catch (Exception ex)
     {
         ConsoleMessage.Fail(String.Format("{0}. Can't verify Jit Cell[row: {1}, col: {2}] with text: {3}",
                                           ActivityName, row, col, data), ex);
         throw;
     }
 }
コード例 #27
0
 public void PulseTest()
 {
     ConsoleMessage.StartTest("Pulse Test", "Pulse");
     Appium.Instance.Driver.LaunchApp();
     LoginActivity.LoginStep(_user, _timeout);
     TabMenu.Pulse.Tap();
     CommonOperation.Delay(10);
     PulseActivity.VerifyListNotEmpty();
     ConsoleMessage.TakeScreen("Verify pulse not empty after 10 sec");
     PulseActivity.HeaderList.VerifyElementCountByClass(11, "android.widget.TextView");
     PulseActivity.CustomizeView.Tap();
     PulseCustomizeViewDialog.ClickOnPropertyCheckbox("property1");
     PulseCustomizeViewDialog.ClickOnPropertyCheckbox("property2");
     PulseCustomizeViewDialog.Ok.Tap();
     PulseActivity.HeaderList.VerifyElementCountByClass(12, "android.widget.TextView");
     ConsoleMessage.TakeScreen("Verify pulse after checking props in customize view");
     PulseActivity.MoveToFlow();
 }
コード例 #28
0
 public void TestCheck()
 {
     ConsoleMessage.StartTest("Search Test", "SearchTest");
     Appium.Instance.Driver.LaunchApp();
     LoginActivity.LoginStep(_user, _timeout);
     BrowserActivity.CreateAssay(_assay);
     BrowserActivity.CreateFlow(_flow);
     BrowserActivity.FlowList.FindAndTap(_flow);
     FlowActivity.AddElement("Add");
     FlowActivity.ElementList.VerifyElementCountByClass(1, "android.widget.EditText");
     //search
     TabMenu.Search.Tap();
     TabMenu.SearchItem(_flow);
     CommonOperation.HideKeyboard();
     SearchActivity.SearchResultList.FindAndTap(_flow);
     CommonOperation.Delay(3);
     FlowActivity.FlowName.VerifyText(_flow);
 }
コード例 #29
0
        public PushMessage PreparePushMessage(NotificationQueueRequest queueRequest, RecipientAddress pushId)
        {
            int timeToLive = ConfigurationHelper.GetConfiguration <int>(Constants.PushFireBaseTimeToLive, Constants.PushFireBaseTimeToLiveDefault);

            PushMessage pushRequest = new PushMessage
            {
                to = pushId?.Adress //"eRArK-0TwkM:APA91bH7APab_SVh2NeOqvlC0IQu9jcutjEIzCHwu8HATlLI_5mSdLIC6eDkH3WUlcklG-g9nlwtiIn2DGr5XJt1j4cx-Yl7fVXeNsh__LH6iJ8FcsQRcxveMwp7HOYejH5RJq6nq73rM-w_v3dwqmZpgvCBGaiDEg"; //for a topic to": "/topics/foo-bar"
            };
            PushMessageData notification = new PushMessageData();

            string subject = queueRequest.Subject;
            string content = queueRequest.Content;

            try {
                content = CommonOperation.EncodeJavaUnicodes(queueRequest.Content);
                subject = CommonOperation.EncodeJavaUnicodes(queueRequest.Subject);
            }
            catch (Exception ex) {
                log.WarnFormat("PreparePushMessage-EncodeJavaUnicodes Error :{0} ; Content:{1}, Subject:{2}, TransactionId:{3}, Customer : {4}", ex, queueRequest.Content, queueRequest.Subject, queueRequest.TransactionId, queueRequest.CustomerNumber);
            }
            notification.title = subject;
            notification.body  = content;

            notification.sound          = "default";
            notification.badge          = queueRequest.PushBadge;
            pushRequest.notification    = notification;
            pushRequest.mutable_content = true;
            PushExtraData data = new PushExtraData
            {
                tranCode       = queueRequest.TransactionCode,
                pushResponseId = queueRequest.ResponseID
            };

            var credentials = PushSenderHelper.GetRsaCredentials();

            data.pushRegisterId = PushSenderHelper.EncryptPushRegisterId(queueRequest.PushRegisterId.ToString(), credentials.Password);

            data.tranData            = JsonConvert.DeserializeObject(queueRequest.TranData);
            pushRequest.time_to_live = timeToLive;
            pushRequest.data         = data;

            return(pushRequest);
        }
        public void BeforeClass()
        {
            _user1       = Settings.Instance.User1;
            _user2       = Settings.Instance.User2;
            _user3       = Settings.Instance.User3;
            _timeout     = Settings.Instance.LoginTimeout;
            _shareDelay  = Settings.Instance.ShareDelay;
            _loginDelay  = Settings.Instance.LoginDelay;
            _version     = Settings.Instance.Version;
            _team        = String.Format("!{0}-Lib{1}", _version, Settings.Instance.TeamRemove);
            _baseLibrary = String.Format("!{0}-UserRemoveBase", _version);
            _shareName   = String.Format("!{0}-UserRemove", _version);

            ConsoleMessage.StartTest("Share library with team and remove user from team: Setup", "ShareLibrary");
            try
            {
                Appium.Instance.Driver.LaunchApp();
                LoginActivity.LoginStep(_user1, _timeout);
                TabMenu.Library.Tap();
                LibraryActivity.CreateLibrary(_baseLibrary);
                LibraryActivity.AddElement.Tap();
                LibraryElementActivity.ElementName.ClearText();
                LibraryElementActivity.ElementName.EnterText(element1);
                LibraryElementActivity.Ok.Tap();
                LibraryActivity.ElementList.VerifyElementCountById(1, "library_document_icon");
                //create team
                TabMenu.Teams.Tap();
                CommonOperation.Delay(1);
                TeamActivity.NewTeam.Tap();
                TeamCreateDialog.TeamName.EnterText(_team);
                TeamCreateDialog.Create.Tap();
                TeamActivity.TeamMemberList.VerifyElementCountById(1, "user_picture");
                //add user to team
                TeamActivity.AddUserToTeam(_user2.Name);
                TeamActivity.TeamMemberList.VerifyElementCountById(2, "user_picture");
                CommonOperation.Delay(5);
            }
            finally
            {
                Appium.Instance.Driver.CloseApp();
                ConsoleMessage.EndTest();
            }
        }