測(cè)試你的心
第1章 代碼盲盒與點(diǎn)餐比喻
蘇念盯著腦屏幕密密麻麻的招聘要求,“練掌握Cyre前端動(dòng)化測(cè)試工具”這條,像道塹橫亙她與儀崗位之間。
她,個(gè)文科出身、邏輯思維堪比迷宮的運(yùn)營,決定為了業(yè)生涯搏把。
經(jīng)過多方打聽和對(duì)比,她鎖定了業(yè)碑佳的“啟航學(xué)院”,尤其是那位說的王牌講師——陸言舟。
學(xué)員評(píng)價(jià),“聽他講課如沐春風(fēng)”、“再難的概念他打個(gè)比方你就懂了”之類的贊譽(yù)比比皆是。
蘇念懷著朝圣般的,報(bào)名了他的Cyre零基礎(chǔ)入門課程。
周晚七點(diǎn)半,蘇念前進(jìn)入議室,緊張地搓著。
七點(diǎn)整,個(gè)清爽的男聲響起,鏡頭打,張干凈帥氣的臉龐出屏幕,鼻梁挺,戴著副細(xì)邊眼鏡,眼透著睿智和溫和。
“各位同學(xué)晚,我是陸言舟,接來由我?guī)ьI(lǐng)家打Cyre界的門?!?br>
他的聲音然如聞樣,低沉悅耳,帶著讓安的力量。
場(chǎng)沒有多余的寒暄,首入主題,卻絲毫讓覺得枯燥。
“我知道很多同學(xué)是次接觸碼,可能覺得它像書,像冰冷的機(jī)器指令。
別怕,”陸言舟笑了笑,鏡片后的眼睛彎起個(gè)的弧度,“家可以把Cyre想象個(gè)非常聰明且聽話的‘機(jī)器C’。
我們學(xué)習(xí)的目的,就是學(xué)如何用它能聽懂的語言(也就是碼),命令它去幫我們作瀏覽器,完系列測(cè)試務(wù),比如點(diǎn)擊按鈕、填寫表、檢查頁面元素等等?!?br>
這個(gè)比喻瞬間讓蘇念緊繃的經(jīng)松弛了。
機(jī)器C,聽起來親切多了。
接著,陸言舟講解了Cyre的基本架構(gòu)和安裝境配置,他邊作邊講解,步驟清晰,遇到可能出錯(cuò)的節(jié)還意停頓調(diào)。
蘇念跟著他的步驟,居然次就配置功了,她地雀躍了。
然而,景長(zhǎng)。
當(dāng)陸言舟始講解Cyre的核概念之——“命令的異步和鏈?zhǔn)秸{(diào)用”,蘇念的眉頭又緊緊鎖住了。
“陸師,”她深氣,鼓起勇氣打了麥克風(fēng),聲音有些怯怯的,“我……我沒太明。
您說Cyre的命令是立即執(zhí)行的,而是排隊(duì)等待?
那……那我怎么知道它什么候執(zhí)行完個(gè)命令,再去執(zhí)行個(gè)呢?
如它沒執(zhí)行完我就進(jìn)行步作,出錯(cuò)?”
這是她卡住的地方,也是很多新的常見疑點(diǎn)。
陸言舟沒有絲毫耐煩,他調(diào)整了坐姿,面向鏡頭,仿佛正專注地著問的她。
“蘇念同學(xué)這個(gè)問題得非常,也是我們今個(gè)關(guān)鍵難點(diǎn)。”
他先肯定了問的價(jià)值,然后話鋒轉(zhuǎn),“我們來打個(gè)比方。
設(shè)你是寫碼,而是去家餐廳點(diǎn)餐?!?br>
他頓了頓,給學(xué)員消化的間。
“你對(duì)著服務(wù)員(相當(dāng)于Cyre)說:‘我要份排’(這是個(gè)命令)。
服務(wù)員記了,但他立刻把排變出來給你,對(duì)吧?
他需要把子到后廚,后廚始作。
這個(gè)過程就是‘異步執(zhí)行’,命令發(fā)出了,但結(jié)需要等待?!?br>
蘇念似懂非懂地點(diǎn)點(diǎn)頭。
“那么,”陸言舟繼續(xù)引導(dǎo),“你點(diǎn)完排后,立刻就對(duì)服務(wù)員說‘把賬給我’嗎?”
“當(dāng)然!”
蘇念意識(shí)地回答,“排還沒呢,怎么算?”
“沒錯(cuò)!”
陸言舟的聲音帶著贊許,“Cyre也是樣。
我們的命令是‘鏈?zhǔn)秸{(diào)用’的,個(gè)接個(gè),但每個(gè)命令都知道要等待前個(gè)命令指向的‘務(wù)’正完。
比如 `y.get(.tn).lik()`,Cyre先找到那個(gè)按鈕(.tn),這個(gè)‘找到’的動(dòng)作確認(rèn)完后,才去執(zhí)行‘點(diǎn)擊’(lik)這個(gè)動(dòng)作。
它部有己的排隊(duì)和等待機(jī),需要我們動(dòng)去等待。
除非是跨頁面的導(dǎo)航等殊作,才需要顯式等待,這個(gè)我們后面講到。”
“所以,”他總結(jié)道,“你需要擔(dān)它沒執(zhí)行完就去執(zhí)行個(gè),因?yàn)镃yre的鏈?zhǔn)矫钌桶诉@種‘等待前個(gè)命令實(shí)質(zhì)完’的邏輯。
就像服務(wù)員排桌后,才適地過來問你‘是否需要甜品’,而你剛點(diǎn)完排就追問?!?br>
“??!
我明了!”
蘇念豁然朗,那個(gè)困擾她的邏輯疙瘩,被這個(gè)生動(dòng)的“餐廳點(diǎn)餐”比喻徹底解了。
她僅理解了異步,還對(duì)鏈?zhǔn)秸{(diào)用有了更首觀的認(rèn)識(shí)。
原來,需要她這個(gè)“指揮官”去 mirmnge(觀管理),Cyre 這個(gè)“智能機(jī)器”己就搞定了執(zhí)行順序。
“謝謝陸師!”
她的聲音充滿了的感和如釋重負(fù)。
陸言舟笑著點(diǎn)頭:“客氣,能獨(dú)立思考并出問題,是學(xué)編程的步。
家都要向蘇念同學(xué)學(xué)習(xí)。”
接來的課程,蘇念聽得格認(rèn)。
陸言舟又講解了幾個(gè)基礎(chǔ)選擇器和常用命令,每個(gè)復(fù)雜點(diǎn)他都用類似的生活化案例進(jìn)行剖析,引導(dǎo)學(xué)員己先思考可能的原因,再揭曉答案,潛移默化鍛煉著家的獨(dú)立思考能力。
課程接近尾聲,陸言舟布置了課后作業(yè)。
“今的作業(yè)有兩個(gè):,本地啟動(dòng)個(gè)簡(jiǎn)的頁,使用 `y.iit()` 訪問它,并嘗試用 `y.get()` 和 `.lik()` 點(diǎn)擊頁面的某個(gè)元素。
二,思考,如我們想獲取某個(gè)輸入框的文字,應(yīng)該使用哪個(gè)命令?
請(qǐng)家將碼和思考過程寫實(shí)驗(yàn)報(bào)告,交到學(xué)習(xí)臺(tái)?!?br>
作業(yè)布置得清晰明確,既有動(dòng)實(shí)踐,又有啟發(fā)的思考題。
課了,蘇念意猶未盡地關(guān)閉了議室窗。
腦屏幕暗來,映出她己帶著笑意和期待的臉。
碼的界似乎再那么冰冷和可怕,因?yàn)橛袀€(gè)聲音,能將它變有趣的故事和比喻。
而屏幕另端,陸言舟整理著今的學(xué)員問記錄,“蘇念”的名字后面,輕輕標(biāo)注了個(gè)符號(hào)。
這是個(gè)邏輯基礎(chǔ)薄弱但態(tài)度認(rèn)、敢于問的學(xué)生,需要多些引導(dǎo)和關(guān)注。
他知道的是,這次尋常的課后標(biāo)注,將啟段怎樣尋常的碼緣。
她,個(gè)文科出身、邏輯思維堪比迷宮的運(yùn)營,決定為了業(yè)生涯搏把。
經(jīng)過多方打聽和對(duì)比,她鎖定了業(yè)碑佳的“啟航學(xué)院”,尤其是那位說的王牌講師——陸言舟。
學(xué)員評(píng)價(jià),“聽他講課如沐春風(fēng)”、“再難的概念他打個(gè)比方你就懂了”之類的贊譽(yù)比比皆是。
蘇念懷著朝圣般的,報(bào)名了他的Cyre零基礎(chǔ)入門課程。
周晚七點(diǎn)半,蘇念前進(jìn)入議室,緊張地搓著。
七點(diǎn)整,個(gè)清爽的男聲響起,鏡頭打,張干凈帥氣的臉龐出屏幕,鼻梁挺,戴著副細(xì)邊眼鏡,眼透著睿智和溫和。
“各位同學(xué)晚,我是陸言舟,接來由我?guī)ьI(lǐng)家打Cyre界的門?!?br>
他的聲音然如聞樣,低沉悅耳,帶著讓安的力量。
場(chǎng)沒有多余的寒暄,首入主題,卻絲毫讓覺得枯燥。
“我知道很多同學(xué)是次接觸碼,可能覺得它像書,像冰冷的機(jī)器指令。
別怕,”陸言舟笑了笑,鏡片后的眼睛彎起個(gè)的弧度,“家可以把Cyre想象個(gè)非常聰明且聽話的‘機(jī)器C’。
我們學(xué)習(xí)的目的,就是學(xué)如何用它能聽懂的語言(也就是碼),命令它去幫我們作瀏覽器,完系列測(cè)試務(wù),比如點(diǎn)擊按鈕、填寫表、檢查頁面元素等等?!?br>
這個(gè)比喻瞬間讓蘇念緊繃的經(jīng)松弛了。
機(jī)器C,聽起來親切多了。
接著,陸言舟講解了Cyre的基本架構(gòu)和安裝境配置,他邊作邊講解,步驟清晰,遇到可能出錯(cuò)的節(jié)還意停頓調(diào)。
蘇念跟著他的步驟,居然次就配置功了,她地雀躍了。
然而,景長(zhǎng)。
當(dāng)陸言舟始講解Cyre的核概念之——“命令的異步和鏈?zhǔn)秸{(diào)用”,蘇念的眉頭又緊緊鎖住了。
“陸師,”她深氣,鼓起勇氣打了麥克風(fēng),聲音有些怯怯的,“我……我沒太明。
您說Cyre的命令是立即執(zhí)行的,而是排隊(duì)等待?
那……那我怎么知道它什么候執(zhí)行完個(gè)命令,再去執(zhí)行個(gè)呢?
如它沒執(zhí)行完我就進(jìn)行步作,出錯(cuò)?”
這是她卡住的地方,也是很多新的常見疑點(diǎn)。
陸言舟沒有絲毫耐煩,他調(diào)整了坐姿,面向鏡頭,仿佛正專注地著問的她。
“蘇念同學(xué)這個(gè)問題得非常,也是我們今個(gè)關(guān)鍵難點(diǎn)。”
他先肯定了問的價(jià)值,然后話鋒轉(zhuǎn),“我們來打個(gè)比方。
設(shè)你是寫碼,而是去家餐廳點(diǎn)餐?!?br>
他頓了頓,給學(xué)員消化的間。
“你對(duì)著服務(wù)員(相當(dāng)于Cyre)說:‘我要份排’(這是個(gè)命令)。
服務(wù)員記了,但他立刻把排變出來給你,對(duì)吧?
他需要把子到后廚,后廚始作。
這個(gè)過程就是‘異步執(zhí)行’,命令發(fā)出了,但結(jié)需要等待?!?br>
蘇念似懂非懂地點(diǎn)點(diǎn)頭。
“那么,”陸言舟繼續(xù)引導(dǎo),“你點(diǎn)完排后,立刻就對(duì)服務(wù)員說‘把賬給我’嗎?”
“當(dāng)然!”
蘇念意識(shí)地回答,“排還沒呢,怎么算?”
“沒錯(cuò)!”
陸言舟的聲音帶著贊許,“Cyre也是樣。
我們的命令是‘鏈?zhǔn)秸{(diào)用’的,個(gè)接個(gè),但每個(gè)命令都知道要等待前個(gè)命令指向的‘務(wù)’正完。
比如 `y.get(.tn).lik()`,Cyre先找到那個(gè)按鈕(.tn),這個(gè)‘找到’的動(dòng)作確認(rèn)完后,才去執(zhí)行‘點(diǎn)擊’(lik)這個(gè)動(dòng)作。
它部有己的排隊(duì)和等待機(jī),需要我們動(dòng)去等待。
除非是跨頁面的導(dǎo)航等殊作,才需要顯式等待,這個(gè)我們后面講到。”
“所以,”他總結(jié)道,“你需要擔(dān)它沒執(zhí)行完就去執(zhí)行個(gè),因?yàn)镃yre的鏈?zhǔn)矫钌桶诉@種‘等待前個(gè)命令實(shí)質(zhì)完’的邏輯。
就像服務(wù)員排桌后,才適地過來問你‘是否需要甜品’,而你剛點(diǎn)完排就追問?!?br>
“??!
我明了!”
蘇念豁然朗,那個(gè)困擾她的邏輯疙瘩,被這個(gè)生動(dòng)的“餐廳點(diǎn)餐”比喻徹底解了。
她僅理解了異步,還對(duì)鏈?zhǔn)秸{(diào)用有了更首觀的認(rèn)識(shí)。
原來,需要她這個(gè)“指揮官”去 mirmnge(觀管理),Cyre 這個(gè)“智能機(jī)器”己就搞定了執(zhí)行順序。
“謝謝陸師!”
她的聲音充滿了的感和如釋重負(fù)。
陸言舟笑著點(diǎn)頭:“客氣,能獨(dú)立思考并出問題,是學(xué)編程的步。
家都要向蘇念同學(xué)學(xué)習(xí)。”
接來的課程,蘇念聽得格認(rèn)。
陸言舟又講解了幾個(gè)基礎(chǔ)選擇器和常用命令,每個(gè)復(fù)雜點(diǎn)他都用類似的生活化案例進(jìn)行剖析,引導(dǎo)學(xué)員己先思考可能的原因,再揭曉答案,潛移默化鍛煉著家的獨(dú)立思考能力。
課程接近尾聲,陸言舟布置了課后作業(yè)。
“今的作業(yè)有兩個(gè):,本地啟動(dòng)個(gè)簡(jiǎn)的頁,使用 `y.iit()` 訪問它,并嘗試用 `y.get()` 和 `.lik()` 點(diǎn)擊頁面的某個(gè)元素。
二,思考,如我們想獲取某個(gè)輸入框的文字,應(yīng)該使用哪個(gè)命令?
請(qǐng)家將碼和思考過程寫實(shí)驗(yàn)報(bào)告,交到學(xué)習(xí)臺(tái)?!?br>
作業(yè)布置得清晰明確,既有動(dòng)實(shí)踐,又有啟發(fā)的思考題。
課了,蘇念意猶未盡地關(guān)閉了議室窗。
腦屏幕暗來,映出她己帶著笑意和期待的臉。
碼的界似乎再那么冰冷和可怕,因?yàn)橛袀€(gè)聲音,能將它變有趣的故事和比喻。
而屏幕另端,陸言舟整理著今的學(xué)員問記錄,“蘇念”的名字后面,輕輕標(biāo)注了個(gè)符號(hào)。
這是個(gè)邏輯基礎(chǔ)薄弱但態(tài)度認(rèn)、敢于問的學(xué)生,需要多些引導(dǎo)和關(guān)注。
他知道的是,這次尋常的課后標(biāo)注,將啟段怎樣尋常的碼緣。