屬於金牛座小子的草原

目前分類:Tech Vision (76)

瀏覽方式: 標題列表 簡短摘要

  昨天打開Robot Framework的時候發現有新版本 RIDE 1.7.3.1 可以升級,直覺這版號也跳滿大的,由於RIDE自從安裝使用以來沒更新過,問題頗多且界面醜醜的,所以一時心動就下了升級它的決定,這可需要很大的勇氣,天曉得會不會升一升整個Robot Framework 就跟著壞了?

文章標籤

jackterrylau 發表在 痞客邦 留言(0) 人氣()

  在學習一陣子的Deep Learning 理論之後,由於買的書是用keras 作為實作框架,所以想把keras架起來玩看看,誰知道我電腦的python 2.7.15 很不給力,在import keras的時候就是會有找不到tensorflow module的錯誤,但是用pip install tesorflow 又發現python27已經有tensorflow site-package,於是我一怒之下把python27 給砍了,改裝Anaconda for python 3.7Anaconda版本來架keras

  其實,預設上當從Anaconda官網下載Anaconda for windows 並進行傳統的下一步安裝之後,tensorflow等很多套件好像就一併裝好了,包括pip也是,但記得是要用 Anaconda Prompt 開啟CLI Command Mode,否則conda是不被認得的windows command 外部指令。

文章標籤

jackterrylau 發表在 痞客邦 留言(0) 人氣()

[示例說明]

  用CSS 將網頁分割成三欄式架構作為未來製作簡單網頁時的Layout 參考。

文章標籤

jackterrylau 發表在 痞客邦 留言(0) 人氣()

  最近研究了一下怎麽用REST API的方法執行S3相關存取物件的操作,發現要APICall S3 相關存取操作的話,在API標頭需要放入 Authorization 標頭,因為AWS需要藉由Authorization的資訊確定來存取S3 ServiceAPI Caller是合法的AWS User,但要手刻API並在裡面加入Authorization的表頭實在不容易,也寫code去計算Authorization的結果跟Signature,所以如果只是想純粹用api 方式去存取S3 Service的話,還有另一種透過AWS CLIs3api command來取代REST API 呼叫,效果幾乎一模一樣。

  下圖是一般API 呼叫s3 serviceRequest Sample:

文章標籤

jackterrylau 發表在 痞客邦 留言(0) 人氣()

  Slack的文字格式跟一般通訊軟體相比有一點點的不一樣,因為它可以針對文字訊息做簡單的格式化工作,讓訊息中可以更突顯出訊息的用途與重點,在這邊我就稍微筆記一下主要有哪些格式化技巧讓你的訊息看起來更吸引人注意。

PS. 某些特殊情況下會有格式不出來的情況,可以多試幾次就知道了。

文章標籤

jackterrylau 發表在 痞客邦 留言(0) 人氣()

  很久沒有在我可愛的Linux機器上跑docker了,今天心血來潮想跑docker做一個實驗,結果docker run一跑下去就失敗了,這是一個完全GG的概念。

文章標籤

jackterrylau 發表在 痞客邦 留言(0) 人氣()

  在處理slack app 收到的slack request/response message時,出現了一個很頭痛的問題,那就是slack 會自動在message中幫我把原始訊息裡的空白(space) 變成 + 號,這樣做法的困擾就是很難百分百還原訊息內容。

  而原本同事的做法是索性就把+號用string.replace方法用space取代回來,但這樣也會把原訊息中的加號變成空白,最直接的衝擊就是我們的wiki url難免會有一些+號,一旦用空白取代掉,url就點不開了。

文章標籤

jackterrylau 發表在 痞客邦 留言(0) 人氣()

  Slack 有提供一種叫slash command的工作小幫手,它的用法簡單,就只要在你的slack 訊息框上先打上一個 ‘/’ 斜線,然後在斜線後隨即加上指令名稱,然後空一格給予指令參數(就是一行可含空白的文字,在slack上叫作指令的text),就可以執行一些該指令預定義好的工作了。

文章標籤

jackterrylau 發表在 痞客邦 留言(0) 人氣()

  這兩天在趕老大派的QA作業,我的第一要務是要把讓Manager可以按approvereject的按鈕的slack bot自動通知RFC request訊息中的reject鈕可以在按下時添加comment告訴QA為何被reject RFC request

  要在slack 上串起這個功能其實不難,只要添加個DialogManager可以在按下Reject Button之後可以彈出讓其輸入Comment再按下確認即可。如此再回覆給RFC 訊息發出人的自動訊息中就會加上Reject Comment在訊息上。

文章標籤

jackterrylau 發表在 痞客邦 留言(0) 人氣()

 

文章標籤

jackterrylau 發表在 痞客邦 留言(0) 人氣()

  該範例摘自<<機器學習-算法原理與編程實踐>>,主要是告訴我們對於資料集的分佈趨勢,我們可以用"最小二乘法"求得回歸線(資料分佈趨勢線),然該法僅適用於線性回歸函數Y = aX + b . 但藉由這個實例亦可以看出我們可以用最小二乘法做為線性回歸資料集的預測算法,從中找出線性資料分佈的合理函數,進而預測資料分佈趨勢。

 

文章標籤

jackterrylau 發表在 痞客邦 留言(0) 人氣()

  因為要在CentOS中安裝python third-party package,但CentOS預設只有python 2.7,並沒有pip tool,所以必須先在CentOS中安裝pip tool才能享受到pip的簡便安裝third-party python package的便利性,但CentOS安裝pip並不像windows直覺,還是必需懂一點CentOSpackage manager tool知識才會知道怎麼下安裝指令。

  其實也不複雜啦,就是在用yum 安裝pip之前,要先確定有安裝epelCentOS上,然後始可用yuminstall pip

jackterrylau 發表在 痞客邦 留言(0) 人氣()

  這邊只是簡單Note一下,算不上是什麼Docker的有用文件,因為公司舉辦AI Contest的關係,官方發佈的環境建製流程就是使用鼎鼎大名的Docker Container Service建製各比賽隊伍自己AI Game Docker Image,而要測試這Image能不能運作,就得在裝有Docker Service 的機器上run 這個image,然後打開比賽官方提供的遊戲模擬器連線到Docker Container所起來的web service然後就會把我的docker image 上的sample bot code指令執行在遠端的遊戲模擬器上,像是有趣的自動控制賽車前進。

  不過我沒用過docker,所以得根據官方文件在自己的CentOS 7 VM (Docker要求CentOS 7以上才能運作)一步步地從安裝DockerBuild Imagerun docker image全部一個一個來,過程算順利啦,除了因為一開始安裝錯版本在remove再安裝正確版本之後然後就完全不能用以外,之後所有演練過程都很順利,官方寫的Docker Guide 還算不賴。

文章標籤

jackterrylau 發表在 痞客邦 留言(0) 人氣()

  事實上,就我個人這幾天試用Headless browsers下來的體驗,我深深覺得其實Headless browser在功能上來講似乎仍明顯不及要打開頁面來運作的browser,只要test case寫的operation模式不好,就會遇到許多奇奇怪怪的問題,像是頁面元素頁面點不到、Browser開半天開不起來最後經過6分鐘後自己timeout、截圖畫面不清等等問題。

  其中Chrome/FireFox/PhantomJS 三大Headless Browsers中又以Chrome問題最多,換言之最不穩定,但效能上若未經選項調整,PhantomJS執行速度最慢,幾乎跟要開頁面運作的browser一樣,這樣就享受不到Headless的極速快感了。

文章標籤

jackterrylau 發表在 痞客邦 留言(0) 人氣()

  之前已經成功開發出Firefox for headless and Chrome for headless的兩個keyword了,但由於未能整合成一個可以透過參數指定要開啟哪種headless browsers的窘境,所以這邊V2版提出一個新的整合版的Open HeadLess Browsers By Name,內中提供參數可以指定要用Chrome/Firefox/PhantomJS哪一種headless browser,這樣所有test case便可以透過該一keyword的參數來切換要使用哪一種headless browser作為Web UI測試的瀏覽器了。

Library           Selenium2Library

文章標籤

jackterrylau 發表在 痞客邦 留言(0) 人氣()

  因為很遺憾地發現本來想用的HeadLess Browser – PhantomJS 突然被Selenium 3.8 宣佈即將停止支援,所以也就只好轉而尋找PhantomJS的替代品,而目前在測試工具上最受推薦的就是已經發展出HeadLess ModeHeadLess Chrome HeadLess Firefox

  這邊僅提供讓Robot Framework可以成功用這兩種瀏覽器開啟網頁的Keyword 實作,原本是想實作python版的,但是因為現在需要跑在Robot Framework上,就直接用Robot Keyword實作了,避免掉使嗽python原生實作需要面對的一些問題,但以後有更深切的需求要用到python版時還是會試試用python版開啟HeadLess Browser

文章標籤

jackterrylau 發表在 痞客邦 留言(0) 人氣()

  今天在調Test Case使當Robot使用HeadLess ChromeHeadLess Firefox Browser時可以在不用修正Test Case下皆能Pass

  主要是當RobotHeadLess FirefoxClick Element時都可以正常點擊到我要點的Div(SSO-JP-BETA區塊,UserID)元素,而判斷是否點到與否的關鍵在於Div右下角可以彈出My AccountSignOut Menu,所以當下一動Robot檢查My Account 元素是否存在時就會成功,然後繼續做下一步。

文章標籤

jackterrylau 發表在 痞客邦 留言(0) 人氣()

  自從把Robot的御用BrowserFireFox改成PhantomJS之後,Robot似乎有點鬧脾氣,有些UI操作變得不是那麼容易,需要給Robot一點更精細的操作指令他才願意好好的操作Browser,真是不肖子的Robot

  這邊有一個Test Case

文章標籤

jackterrylau 發表在 痞客邦 留言(0) 人氣()

  之前曾經寫過一篇用Command Line 來執行 Robot Framework 但是是指定執行tag底下test case Command, 今天在試Robot Framework時,遇到robot IDE : RIDE.py 秀逗,不給我乖乖打開PhantomJS Browser,所以就研究了一下用Command LineRobot先生幫我跑指定的Test Case,陷阱很多,但我還是試出來了。

  基本上這Robot裝好在機器之後,可以透過底下兩種模式打開Comand Line來啟動Robot :

文章標籤

jackterrylau 發表在 痞客邦 留言(0) 人氣()

  一直以來,跑Robot FrameworkWeb UI Test Case時,習慣都用對FireFox支援較友善的Selenium2LiberaryRun Firefox web driver,雖然明知SeleniumOpen Browser keywork事實上支援多種Web Driver,但一直都只用firefox來作為Robot Framework的專用Browser,唯二的缺點就是:開Browser有時很慢並且需要指定firefox profile路徑(如果需要客製化profile,這還衍生另一個跨平台問題,Mac(Unix-like OS)Windows的路徑使用格式不同,因此你可能需要對open browser 寫法做if 條件處理,否則就是做兩版Robot Framework project for macwindows)

下圖說明Open Browser可以指定多種不同Browser

文章標籤

jackterrylau 發表在 痞客邦 留言(0) 人氣()

1 234