??????????mocha??????
????1.?????а??
??????????????£??????а??:
????npm install mocha
???????????????????
????1?????????????????:
????https://github.com/appium/sample-code
????2?????????Node?????node?????????????:
????https://github.com/appium/sample-code/tree/master/sample-code/examples/node
??????:???дnodeJS???
????1. ???????????Appium???????????????????д???.
?????????????д?????-??????-???????????:
"use strict";
var          wd = require("wd")??
chai = require("chai")??
chaiAsPromised = require("chai-as-promised")??
actions = require ("./helpers/actions");
var      driver = wd.promiseChainRemote("0.0.0.0"??4723)??
desired = {
"Appium-version":"1.4.13"??
platformName:"iOS"??
platformVersion:"9.3"??
deviceName:"iPhone 6"??
app:"/Users/lucien/Library/Developer/Xcode/DerivedData/YCMath345-iOS-crxbfrnkjtohbydohibkqgwayzos/Build/Products/Debug-iphonesimulator/YCMath345-iOS.app"
};
wd.addPromiseChainMethod("swipe"??actions.swipe);
// before(function () { return driver.init(desired) });
//  after(function () { return driver.quit() });
describe("?:?????????"?? function () {
this.timeout(300000);
before(function () { return driver.init(desired) });
it("1.1:?????????????."?? function () {
return  driver
.elementByXPath("//UIAApplication[1]/UIAWindow[1]/UIAButton[3]").click()
.elementByXPath("//UIAApplication[1]/UIAWindow[1]/UIATextField[1]").sendKeys("15725040100")
.elementByXPath("//UIAApplication[1]/UIAWindow[1]/UIASecureTextField[1]").sendKeys("123456")
.elementByXPath("//UIAApplication[1]/UIAWindow[1]/UIAButton[3]").click()    //??????
.sleep(3000)
// .elementByXPath("//UIAApplication[1]/UIAWindow[1]/UIAButton[8]").click()    //??????????
//  .sleep(3000)
.elementByXPath("//UIAApplication[1]/UIAWindow[1]/UIAButton[3]").click()    //??????
.elementByXPath("//UIAApplication[1]/UIAWindow[1]/UIATableView[1]/UIATableCell[2]/UIAButton[1]").click()   //???????
.elementByXPath("//UIAApplication[1]/UIAWindow[1]/UIATableView[1]/UIATableCell[2]").click()          //???????????
.elementByXPath("//UIAApplication[1]/UIAWindow[1]/UIAButton[13]").click()        //???????(??)
.elementByXPath("//UIAApplication[1]/UIAWindow[1]/UIAButton[1]").click()       //??????
.elementByXPath("//UIAApplication[1]").click()       //??????
.sleep(3000)
// .elementByXPath("//UIAApplication[1]/UIAWindow[1]/UIASlider[1]").getLocation()
.elementByXPath("//UIAApplication[1]/UIAWindow[1]").getLocation()     //??????windows????????slider????.
// .then(function(loc){
//     return driver.swipe({startX:loc.x??startY:loc.y??endX:loc.x??endY:500??duration:800})
// })
.then(function(loc){
return driver.swipe({startX:50??startY:50??endX:50??endY:650??duration:800})
})
.sleep(3000)
.elementByXPath("//UIAApplication[1]/UIAWindow[1]/UIAButton[12]").click()             //???????(?β)
.elementByXPath("//UIAApplication[1]/UIAWindow[1]/UIAButton[2]").click()       //?????????.
.elementByXPath("//UIAApplication[1]/UIAWindow[1]/UIATableView[1]/UIATableCell[1]").click()  //??????cell???????????????????????
.quit()
});
});
??????:????
????1.????????"XXX.module"
????npm install xxx
????????
????npm install -g xxx
????2.??????mocha????????
?????????????????壬??????3?????.
????1??.before:
????????????????????????????.???????????????????????????????appium??????????.
????2??.after:
?????????????????к??????????????????????.
????3??.decribe:
????????????????????????????????????????.???????????????it???????????????????????????????????. this.timeout(300000);???ó??5????????????. describe???????.
????3.??.??????????
??????:require("xxx");
???????:require("./helpers/actions");
????(?????????????????????????????????????actions)
????4.???????????????
?????????????UIAWindow????UIASlider??????.????getLocation()????????λ??????swipe?????????????????????????startX:?????x? startY:?????y? endX:??????x? endY:??????y? duration:???????(??????????????)????????????.
????5.???????nodeJS??????
????mocha  xxx.js
????6.?????????????????????
??????????о?Apppium????????????漸???????????в???.