예제 #1
0
파일: Interviews.cs 프로젝트: ar-beid/work
        public static void Answer(IEnumerable <string[]> interviews)
        {
            // should contain one line
            var questionTypes = CsvReader.Questionnaire.ToArray();

            var interview = 1;

            foreach (var answers in interviews)
            {
                // first column could be a repsondent key
                int start = 0;
                var url   = Arguments.InterviewingUrl;

                if (questionTypes[0][0] == "RESPONDENT")
                {
                    start = 1;
                    url   = $@"{url}\{answers[0]}";
                }

                InterviewPage.Goto(url);

                // wait a bit to answer 1th question
                Sleep(SLEEP);

                for (var i = start; i < answers.Length; i++)
                {
                    var questionType = questionTypes[0][i];
                    var answer       = answers[i];
                    AnswerQuestion(questionType, answer);
                }

                WriteConsole(interview);
                interview++;
            }
        }
예제 #2
0
파일: Interviews.cs 프로젝트: ar-beid/work
        private static void ProcessMultiCode(string multiAnswer)
        {
            var answers = multiAnswer.Split('|').ToList();

            foreach (var answer in answers)
            {
                InterviewPage.SelectCategory(answer.Trim());
            }
        }
예제 #3
0
 public void Setup()
 {
     driver = new ChromeDriver(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location));
     wait   = new WebDriverWait(driver, TimeSpan.FromSeconds(60));
     driver.Manage().Window.Maximize();
     HRMainPage       = new HRMainPage(driver);
     interviewPage    = new InterviewPage(driver);
     hireEmployeePage = new HireEmployeePage(driver);
     allEmployeesPage = new AllEmployeesPage(driver);
     driver.Navigate().GoToUrl("http://localhost:4200/hr");
 }
예제 #4
0
파일: Run.cs 프로젝트: ar-beid/work
        private static void Main(string[] args)
        {
            Arguments.Get(args);

            WriteConsole("Start interviews");

            // do interviews
            Interviews.Answer(CsvReader.Interviews);

            // shut it down
            WriteConsole("Shut down");

            InterviewPage.Quit();

            WriteConsole("Done");
        }
예제 #5
0
파일: Interviews.cs 프로젝트: ar-beid/work
        private static void AnswerQuestion(string questionType, string answer)
        {
            answer = answer.Trim();

            if (answer == "U-B")
            {
                // wait a bit to load next page
                Sleep(SLEEP);
                // user button moves you to the next question
                InterviewPage.UserButton();
                return;
            }

            switch (questionType)
            {
            case "SINGLE":
                InterviewPage.SelectCategory(answer);
                break;

            case "MULTI":
                ProcessMultiCode(answer);
                break;

            case "NUM":
                InterviewPage.AnswerNumeric(int.Parse(answer));
                break;

            case "OPEN":
                InterviewPage.AnswerOpen(answer);
                break;

            case "ALPHA":
                InterviewPage.AnswerAlpha(answer);
                break;

            case "NEXT":
                // do nothing; NEXT is called below
                break;
            }

            // wait a bit to load next page
            Sleep(SLEEP);
            InterviewPage.Next();
        }
예제 #6
0
 public InterviewPageViewModel(InterviewPage model)
 {
     this.Model = model;
 }