Do you do code reviews?

I was wondering, do you do code reviews?

I wrote a basic appium framework at https://github.com/tjmaher/basic_appium_framework

I focused on writing one test for one Android emulator. I used Appium + Java + TestNG + Hamcrest with the Page Object and Page Factory patterns. I think I did it correctly? I am not sure…

-T.J. Maher

1 Like
  1. move all to maven with using testNG XML files and it will be fine
  2. move BeforeSuite + AfterSuite to some BaseTest class
  3. before “homeScreen.verifyHeader();” should be "homeScreen = new HomeScreen(driver);
  4. update:
    public void selectTextButton(){
        WebDriverWait wait = new WebDriverWait(driver, 30);
        wait.until(ExpectedConditions.elementToBeClickable(this.textButton));

        System.out.println("HOME_SCREEN_PAGE: Selecting [TEXT] button.\n");
        this.textButton.click();
    }
// - >

    public boolean selectTextButton(){
        System.out.println("  selectTextButton()");
        return tapElement(switchAccountIcon);
    }

// tapElement create in BasePage and extend it with every other page

public boolean tapElement(MobileElement element) {
            try {
                new TouchAction((MobileDriver) driver).press(element).waitAction(70).release().perform();
                return true;
            } catch (Exception e) {
                return false;
            }
    }
  1. start using asserts :slight_smile: like:
assertTrue("'Some Element' icon NOT loaded", somePage.tapSomeElement());
1 Like

I have a question on this…

… Is it okay if I use Gradle? I like that just a bit better than Maven.

Point two:

… I fully agree! The problem was that it was confusing some manual testers I was trying to teach automation. I wanted for the first version not have have a BasePage.

Thank you so much for your input, Aleksei! I really appreciate it!

no much difference i see between maven and gradle. ok then ADD parameter into gradle - path to testNG file.

test {
     useTestNG {
         suites 'src/main/resources/testng.xml'
     }
 }

but instead of ‘src/main/resources/testng.xml’ should be variable name that you path in command line. THUS you can start in command line any suite file that has set of some tests.

1 Like

Yeah, if starting a new project, use Gradle.

1 Like