[setup] robotframework + windows

# Outline

robotframeworkをwindowsで構築したとき、ハマったので議事録的に設定ログを残す


# Environment

- windows11

# Python

Pythonのinstallerをdonwloadしてインストールする

https://www.python.org/downloads/windows/

install optionでは、all userが使えるように、そしてpathを通す。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/267085/f650e2d0-7877-6ade-cb7b-ad67815cb1b3.png)


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/267085/4ceed13d-8c53-30e4-9c3f-82859d2126b3.png)

最後に、command consoleを立ち上げ、pythonのpathが通っていることを確認する

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/267085/9fb37558-a547-7be4-6267-ea0136af69be.png)

# Robotframework

上記でpipが使えるようになっているはず。
もし、pipコマンドが使えない場合、pathを確認する。

上記、defaultでpythonのinstall pathを指定した場合、
```
C:\Program Files\Python312\Scripts
```
に、pipなどが存在する。
このpathが環境設定で定義されているかを確認する。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/267085/dd963590-5153-f0d7-05a4-423344eeedc1.png)

```
pip install robotframework
```

robotを実行するために、改めてpathの設定が必要になる。
pipでinstallされたものは、個人folderにinstallされるからである。
※install時に、warningが出るはず。
```
%UserProfile%\AppData\Roaming\Python\Python312\Scripts
```

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/267085/602a32a4-f076-8736-b65a-7580844b01ed.png)

robot動作確認

```
robot
```

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/267085/c8a649ab-56e2-d45a-8991-efda21081b00.png)



### おまけ
もし、all userにinstallさせたい場合、以下の環境変数で、scriptsのinstall pathを指定する。
尚、この場合permission関連に注意する必要がある。

```
PYTHONUSERBASE
```

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/267085/e82dedf3-b45f-8719-45f2-a1c5fdc22aaf.png)


# Sample Code


chromeをつかって簡単なコードを実行する

尚、chromeを使う場合、chromedriverが必要になる。
以下サイトから最新のdriver(chromeが最新であれば）をdownloadしてきて、実行可能なpath（PATHの通っている場所、もしくは実行する場所）に置く

https://googlechromelabs.github.io/chrome-for-testing/#stable

Seleniumのrobotframeworkのkeywordsはこちら

https://robotframework.org/SeleniumLibrary/SeleniumLibrary.html

Sample Source Code
1. chrome open
2. click 任意の競馬場
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/267085/6e83a199-c3cd-9a72-ab64-0e4a63f77a14.png)
3. check 開催タイトル＆出力
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/267085/883e2f5c-6288-11d0-9cc3-a36f2ac26def.png)

sample.robot
```
*** Settings ***
Library  SeleniumLibrary


*** Variables ***
${BROWSER}  chrome
${TIME_FOR_STABLE}  3s


*** Keywords ***
Access WebSite
	[Arguments]  ${url}
	Log to Console  open ${BROWSER} and access ${url}
	Open Browser  ${url}  ${BROWSER}
	Sleep  ${TIME_FOR_STABLE}


*** Test Cases ***

Open Browser and Access keiba site
	Access WebSite  https://keiba.rakuten.co.jp


Go Info Page
	Click Element  xpath=//*[@id="todayRaceBox"]/ul/li[1]/div/div[1]/a/span/span
	Wait Until Element Is Visible  xpath=//*[@id="mainContainer"]/div[4]/h2  timeout=10s
	${kaisai_title} =  Get Text  xpath=//*[@id="mainContainer"]/div[4]/h2
	Log to Console  kaisai_title ${kaisai_title}
```


```
robot sample.robot
```

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/267085/1992fbcd-917b-4076-eb48-d5bae8f36428.png)