????????????UI???????飬???????UI??????????????£?????UI?????Web???UI????????????????UI????????????ЩUI??????????UI???????????????????????????????????UI??????

?????????Σ???????????У???????Selenium????UI?????API????


Selenium.Click(??//div[@id=??mail-nav??]/ul/li[3]/a??)


?????????Σ???UI??????д??????????У?????UI??????????????????????UI??????????????UI????????齫????????????????????У???????????????????????磺

?????????????LoginPage??


Class LoginPage{
loginButton = ??//div[@id=??mail-nav??]/ul/li[3]/a??;
void Login(username?? password){
??..
Selenium.Click(loginButton);
??.
}
}


??????????????У?????????UI????????????磺


loginPage.Login(??name??????defpassword??)


??????????Σ???UI???hardcode???????в?????????UI???????仯??????????±?????????????????????UI????????xml????json??????С???????????????????????????????仯???????????????????????????????磺


@AddressPage(??LoginPage.xml??)
Class LoginPage{
????
}


?????????Σ???????????????????UI?????UI????仯??????仯?????2????????????????UI??????????UI?????????????????????????????????Xpath????UI?????????λ????????????????UI??????ж?UI????????粻???????????????磺


//div[@id=??mail-maillist??]/div[2]/table/tbody/tr[{0}]/td[6]/a/span/span
sleep=2 //AliBrowserFrameA[@global=??ACCNAME_BACK??]


?????????Σ?????????????UI?????????ο???????UI????????????????????????????????????????????????

???????????????????


DeskUI.Click(??loginButton??)


????????????????


class DeskUI:
@staticmethod
def Open(exePath?? param=??"):
@staticmethod
def Click(uiPath?? offset=0):
@staticmethod
def RightClick(uiPath):

@staticmethod
def Input(uiPath?? value):

@staticmethod
def SendShortcut(value):

@staticmethod
def SendKey(value):

@staticmethod
def Check(uiPath):

@staticmethod
def UnCheck(uiPath):