Re-Scheduled for Wednesday, Aug 1 2018, 10.00am SGT.
V6.8.0 has been released by @xpdavid at July 31st, 2018, 11.18pm SGT.
Code contributions from: @ah91086, @cybersol795, @dalessr, @nidhi98gupta, @shubhamkadlag, @sukanta-27, @tanhengyeow, @tshradheya, @xpdavid
Review contributions from: @LiHaoTan, @bqnguyen94, @damithc, @jacoblipech, @joanneong, @tanhengyeow, @tran-tien-dat, @tshradheya, @wkurniawan07, @xpdavid
Ready for post-release check and deployment by PM (@damithc).
@xpdavid are you able to run StudentHomePageUiTest against your staging server? Looks like Google did some changes to their login page and our tests cannot get past the login page.
Checking...
Yes.

Google will prompt login page for previous logged-in user account.
@tshradheya Do you plan to fix it?
Looking into it.
It might take me a while to submit a PR for the fix cause I am currently a bit pre occupied and will be traveling tomorrow.
If this is the only test affected then I think its fine to deploy the changes?
If this is the only test affected then I think its fine to deploy the changes?
I'm afraid none of the tests can go past the login screen. All UI tests need to login as admin.
In that case I will try my best to submit the fix by tonight
In that case I will try my best to submit the fix by tonight
Give it a shot. It's OK if you can't manage a quick fix. The release is not terribly urgent, but best to do it sooner rather than later.
@damithc @tshradheya
A quick fix:
change GoogleLoginPage.java
private void completeFillIdentifierSteps(String identifier) {
By switchAccountButtonBy = By.id("profileIdentifier");
By useAnotherAccountButtonBy = By.id("identifierLink");
if (isElementPresent(switchAccountButtonBy)) {
click(switchAccountButtonBy);
click(waitForElementPresence(useAnotherAccountButtonBy));
}
if (isElementPresent(useAnotherAccountButtonBy)) {
click(useAnotherAccountButtonBy);
}
waitForElementVisibility(identifierTextBox);
ThreadHelper.waitFor(500); // wait for the transition animation to finish
fillTextBox(identifierTextBox, identifier);
}
Run against several tests and I think it works.
A quick fix:
Thanks @xpdavid Will try that later tonight.
Yup, that worked. 馃憤
Seems like there is some load balancing mechanism in Google Site. Sometime, the login page will jump back to the old version. @tshradheya You may need to consider this.
All parallel UI tests are being skipped. Any idea why?

Might due to the Google Login Page issue. Currently my quick fix is not stable. :(
Login seems to work on my computer. I can actually run these tests individually. But when I run CITests configuration, the whole lot is skipped. Need to find out under what condition these tests are skipped.
Will this block the release?
Will appreciate if more info about the skip are provided. TestNG skip test for reasons like @BeforeMethod @BeforeClass fail.
Will this block the release?
Yes, as I can't run any of the UI tests on the live server, unless I run each UI test manually, which could take a very long time (76 tests to run) :-p
Will appreciate if more info about the skip are provided. TestNG skip test for reasons like @BeforeMethod @BeforeClass fail.
I didn't see anything specific. Will try again on Monday. I wonder if we configured these tests to be _conditional_ upon another test. I remember we were considering something like that at some time, to skip all UI tests if a certain _smoke test_ failed. @wkurniawan07 do you remember anything about it?
I remember we were considering something like that at some time, to skip all UI tests if a certain smoke test failed. @wkurniawan07 do you remember anything about it?
We don't have any smoke test right now...
@xpdavid a few tests are failing due to a missing class problem, although the class should be there. Can you try FeedbackMcqQuestionUiTest against your staging server?
java.lang.NoClassDefFoundError: teammates/common/datatransfer/questions/FeedbackMcqQuestionDetails$MCQStatistics
at teammates.common.datatransfer.questions.FeedbackMcqQuestionDetails.getQuestionResultStatisticsHtml(FeedbackMcqQuestionDetails.java:518)
at teammates.ui.pagedata.InstructorFeedbackResultsPageData.buildQuestionTableAndResponseRows(InstructorFeedbackResultsPageData.java:925)
at teammates.ui.pagedata.InstructorFeedbackResultsPageData.buildGroupByQuestionPanel(InstructorFeedbackResultsPageData.java:550)
at teammates.ui.pagedata.InstructorFeedbackResultsPageData.buildSectionPanelForViewByParticipantQuestionParticipant(InstructorFeedbackResultsPageData.java:363)
at teammates.ui.pagedata.InstructorFeedbackResultsPageData.initForSectionPanelViews(InstructorFeedbackResultsPageData.java:221)
at teammates.ui.controller.InstructorFeedbackResultsPageAction.execute(InstructorFeedbackResultsPageAction.java:159)
at teammates.ui.controller.Action.executeAndPostProcess(Action.java:476)
@damithc The error is coming from the McqStatistics class added in #8917. Sir, is this only failing on the staging server? Is it passing on the dev server?
Can you clean the project and rerun the test to see if it passes or not?
Four tests failing due to this error:

Just recording here until we do further investigation. @sukanta-27 a re-deploy didn't work. Let me try a clean+deploy.
Previously we use McqStatistics but we change it to MCQStatistics in V6.8.0. It is a little tricky here if the complier think they are the same and do some "optimization" here.
I tired the tests on my staging server and the test pass. So I guess clean + deploy might work.
Good news: I was able to reproduce the problem with the dev server and a clean fixed the problem.
Bad news: Have to redeploy to the live server and run all the tests again for the now :-p
On a positive note, I'm glad we have all these tests to catch this kind of obscure problems. It also shows that just because things are working on Dev server doesn't mean thing they'll work in the live server.
Deployed. Thanks to all who contributed 馃嵕
Most helpful comment
Deployed. Thanks to all who contributed 馃嵕