[Title] Added ide ui test, using sikuli fw
authorgyeongseok.seo <gyeongseok.seo@samsung.com>
Mon, 29 Jul 2013 05:24:54 +0000 (14:24 +0900)
committergyeongseok.seo <gyeongseok.seo@samsung.com>
Mon, 29 Jul 2013 09:25:14 +0000 (18:25 +0900)
[Desc.] startup script, workspace resource, sikuli script
[Issue]

Change-Id: If0ac38968eac8b8662c77a046f8b6ed10753bed4

25 files changed:
org.tizen.common/test/sikuli/ide-test-workspace.zip [new file with mode: 0644]
org.tizen.common/test/sikuli/test-ide.sh [new file with mode: 0755]
org.tizen.common/test/sikuli/tizen-ide-ui-test.sikuli/1373857413406.png [new file with mode: 0644]
org.tizen.common/test/sikuli/tizen-ide-ui-test.sikuli/1373865829456.png [new file with mode: 0644]
org.tizen.common/test/sikuli/tizen-ide-ui-test.sikuli/1373865867360.png [new file with mode: 0644]
org.tizen.common/test/sikuli/tizen-ide-ui-test.sikuli/1373866273709.png [new file with mode: 0644]
org.tizen.common/test/sikuli/tizen-ide-ui-test.sikuli/1373866395268.png [new file with mode: 0644]
org.tizen.common/test/sikuli/tizen-ide-ui-test.sikuli/1373869011937.png [new file with mode: 0644]
org.tizen.common/test/sikuli/tizen-ide-ui-test.sikuli/1373869170312.png [new file with mode: 0644]
org.tizen.common/test/sikuli/tizen-ide-ui-test.sikuli/1373873356058.png [new file with mode: 0644]
org.tizen.common/test/sikuli/tizen-ide-ui-test.sikuli/1373873427833.png [new file with mode: 0644]
org.tizen.common/test/sikuli/tizen-ide-ui-test.sikuli/1373877161869.png [new file with mode: 0644]
org.tizen.common/test/sikuli/tizen-ide-ui-test.sikuli/1373877178205.png [new file with mode: 0644]
org.tizen.common/test/sikuli/tizen-ide-ui-test.sikuli/1373877306612.png [new file with mode: 0644]
org.tizen.common/test/sikuli/tizen-ide-ui-test.sikuli/1373877363036.png [new file with mode: 0644]
org.tizen.common/test/sikuli/tizen-ide-ui-test.sikuli/1373877385908.png [new file with mode: 0644]
org.tizen.common/test/sikuli/tizen-ide-ui-test.sikuli/1373883239569.png [new file with mode: 0644]
org.tizen.common/test/sikuli/tizen-ide-ui-test.sikuli/1373883294273.png [new file with mode: 0644]
org.tizen.common/test/sikuli/tizen-ide-ui-test.sikuli/1373883771509.png [new file with mode: 0644]
org.tizen.common/test/sikuli/tizen-ide-ui-test.sikuli/1373883824021.png [new file with mode: 0644]
org.tizen.common/test/sikuli/tizen-ide-ui-test.sikuli/1373885396049.png [new file with mode: 0644]
org.tizen.common/test/sikuli/tizen-ide-ui-test.sikuli/1373885464049.png [new file with mode: 0644]
org.tizen.common/test/sikuli/tizen-ide-ui-test.sikuli/1373885544264.png [new file with mode: 0644]
org.tizen.common/test/sikuli/tizen-ide-ui-test.sikuli/tizen-ide-ui-test.html [new file with mode: 0644]
org.tizen.common/test/sikuli/tizen-ide-ui-test.sikuli/tizen-ide-ui-test.py [new file with mode: 0644]

diff --git a/org.tizen.common/test/sikuli/ide-test-workspace.zip b/org.tizen.common/test/sikuli/ide-test-workspace.zip
new file mode 100644 (file)
index 0000000..07645aa
Binary files /dev/null and b/org.tizen.common/test/sikuli/ide-test-workspace.zip differ
diff --git a/org.tizen.common/test/sikuli/test-ide.sh b/org.tizen.common/test/sikuli/test-ide.sh
new file mode 100755 (executable)
index 0000000..202a5a1
--- /dev/null
@@ -0,0 +1,209 @@
+#!/bin/bash
+
+##
+# setup
+## 1. emulator launch check using sdb command AND emulator launch
+## 2. tizen IDE launch check using ps command AND close Tizen IDE
+## 3. pre-required resource handle (unzip workspace)
+
+### 1
+#### SCRIPT_PATH is test-ide.sh path
+pushd . > /dev/null
+SCRIPT_PATH="${BASH_SOURCE[0]}";
+  while([ -h "${SCRIPT_PATH}" ]) do
+    cd "`dirname "${SCRIPT_PATH}"`" 
+    SCRIPT_PATH="$(readlink "`basename "${SCRIPT_PATH}"`")";
+  done
+cd "`dirname "${SCRIPT_PATH}"`" > /dev/null
+SCRIPT_PATH="`pwd`";
+popd  > /dev/null
+echo script path : ${SCRIPT_PATH}
+
+#### TIZEN_SDK is tizen-sdk path
+if [ `ls ${SCRIPT_PATH}/../../sdk.info | grep sdk.info | wc -l` -eq 1 ] ; then
+    TIZEN_SDK=`cat ${SCRIPT_PATH}/../../sdk.info | grep TIZEN_SDK_INSTALLED_PATH= | sed -e s/TIZEN_SDK_INSTALLED_PATH=/""/g`
+
+fi
+
+if [ -z "$TIZEN_SDK" ]; then
+    TIZEN_SDK="/home/test/tizen-sdk"
+fi
+echo tizen path : $TIZEN_SDK
+
+
+TEST_IDE_PATH="${TIZEN_SDK}/test/ide"
+SDB_DEVICES="${TIZEN_SDK}/tools/sdb devices"
+EM_CMD="${TIZEN_SDK}/tools/emulator/bin/emulator-manager"
+EM_VM_CHECK="${EM_CMD} list-vm"
+EM_VM_DELETE="${EM_CMD} delete -n test"
+EM_VM_CREATE="${EM_CMD} create -n test -b 1"
+EM_VM_RUN="${EM_CMD} launch -n test"
+SIKULI_CMD=`which sikuli-script`
+if [ -z "`echo ${SIKULI_CMD}`" ] ; then
+    SIKULI_CMD="/home/test/Sikuli/sikuli-script"
+fi
+echo sikuli path : $SIKULI_CMD
+CHECK=
+
+#### 1.1 test vm exist check
+echo "test start..."
+
+while :
+do
+    EM_VM_PID=`ps aux | grep test | awk '{ print $2 "\t" $11 }' | grep emulator | awk '{ print $1 }'`
+    if [ -n "${EM_VM_PID}" ] ; then
+        echo "pid : "${EM_VM_PID}" emulator process kill..."
+        kill -9 ${EM_VM_PID}
+        sleep 20
+    else
+        echo "emulator process kill success..."
+        break;
+    fi
+done
+
+for name in `exec ${EM_VM_CHECK}`
+do
+    if [ "$name" == "test" ] ; then
+        CHECK=`${EM_VM_DELETE} | grep Success: | wc -l`
+    fi
+done
+
+#### 1.2 test vm is exist then delete
+if [ "${CHECK}" == "0" ] ; then
+    echo "emulator vm delete failed..."
+    exit 1
+else
+    echo "emulator vm delete success..."
+fi
+
+#### 1.3 new test vm create
+CHECK=`${EM_VM_CREATE} | grep "Success:" | wc -l`
+if [ "${CHECK}" == "0" ] ; then
+    echo "emulator vm create failed..."
+    exit 1
+else
+    echo "emulator vm create success..."
+fi
+
+#### 1.4 new test vm run
+CHECK=`${EM_VM_RUN} | grep "Success:" | wc -l`
+if [ "${CHECK}" == "0" ] ; then
+    echo "emulator vm start failed..."
+    exit 1
+else
+    echo "emulator vm start success..."
+fi
+
+#### 1.5 new test vm and sdb connection check
+printf "emulator vm sdb connection"
+cnt=0
+while :
+do
+#    CHECK=`${SDB_DEVICES} | awk '{ print $3 }' | grep "test" | wc -l`
+CHECK=10 # sdb connection bug... so bypass logic
+    if [ `echo ${CHECK}` -gt 0 ] ; then
+        printf "\n"
+        echo "emulator vm sdb connection success..."
+        break;
+    fi
+
+    let cnt++
+    sleep 1
+    printf "."
+
+    if [ ${cnt} -gt 60 ] ; then
+        printf "\n"
+        echo "emulator vm sdb connection failed..."
+        exit 1
+    fi
+done
+
+#### 1.6 wait emulator booting
+sleep 20
+
+### 2
+#### 2.1 tizen ide launch check and close
+while :
+do
+    TIZEN_IDE_PID=`ps aux | grep test | awk '{ print $2 "\t" $11 }' | grep eclipse | awk '{ print $1 }'`
+    if [ -n "${TIZEN_IDE_PID}" ] ; then
+        echo "pid : "${TIZEN_IDE_PID}" Tizen IDE process kill..."
+        kill -9 ${TIZEN_IDE_PID}
+        sleep 20
+    else
+        echo "Tizen IDE process kill success..."
+        break;
+    fi
+done
+
+### 3
+if [ ! -d "${TEST_IDE_PATH}" ] ; then
+    mkdir -p ${TEST_IDE_PATH}
+fi
+
+if [ -d "${TEST_IDE_PATH}/workspace" ] ; then
+    rm -rf ${TEST_IDE_PATH}/workspace
+    rm -rf ${TEST_IDE_PATH}/workspace/.metadata/ide-*.log
+fi
+
+unzip ${TEST_IDE_PATH}/ide-test-workspace.zip -d ${TEST_IDE_PATH} > /dev/null
+
+if [ ! -d "${TEST_IDE_PATH}/result" ] ; then
+    mkdir -p ${TEST_IDE_PATH}/result
+fi
+
+
+
+##
+# run
+## 1. sikuli ui test script launch
+
+${SIKULI_CMD} -r ${TEST_IDE_PATH}/tizen-ide-ui-test.sikuli
+
+
+##
+# cleanup
+## 1. copy test result
+## 2. close emulator
+## 3. close Tizen IDE
+## 4. cleanup workspace
+
+echo "test cleanup..."
+
+### 1
+LOGNAME=IDE-TEST.`date +%Y%m%d.%H%M%S`.log
+cat ${TEST_IDE_PATH}/workspace/.metadata/ide-*.log | grep "PERFORM" > ${TEST_IDE_PATH}/result/`echo ${LOGNAME}`
+cat ${TEST_IDE_PATH}/result/`echo ${LOGNAME}` | grep "PERFORM" | netcat 172.21.111.252 3333
+
+### 2
+while :
+do
+    EM_VM_PID=`ps aux | grep test | awk '{ print $2 "\t" $11 }' | grep emulator | awk '{ print $1 }'`
+    if [ -n "${EM_VM_PID}" ] ; then
+        echo "pid : "${EM_VM_PID}" emulator process kill..."
+        kill -9 ${EM_VM_PID}
+        sleep 20
+    else
+        echo "emulator process kill success..."
+        break;
+    fi
+done
+
+### 3
+while :
+do
+    TIZEN_IDE_PID=`ps aux | grep test | awk '{ print $2 "\t" $11 }' | grep eclipse | awk '{ print $1 }'`
+    if [ -n "${TIZEN_IDE_PID}" ] ; then
+        echo "pid : "${TIZEN_IDE_PID}" Tizen IDE process kill..."
+        kill -9 ${TIZEN_IDE_PID}
+        sleep 20
+    else
+        echo "Tizen IDE process kill success..."
+        break;
+    fi
+done
+
+### 4
+rm -rf ${TEST_IDE_PATH}/workspace
+
+
diff --git a/org.tizen.common/test/sikuli/tizen-ide-ui-test.sikuli/1373857413406.png b/org.tizen.common/test/sikuli/tizen-ide-ui-test.sikuli/1373857413406.png
new file mode 100644 (file)
index 0000000..53c6582
Binary files /dev/null and b/org.tizen.common/test/sikuli/tizen-ide-ui-test.sikuli/1373857413406.png differ
diff --git a/org.tizen.common/test/sikuli/tizen-ide-ui-test.sikuli/1373865829456.png b/org.tizen.common/test/sikuli/tizen-ide-ui-test.sikuli/1373865829456.png
new file mode 100644 (file)
index 0000000..33d9cce
Binary files /dev/null and b/org.tizen.common/test/sikuli/tizen-ide-ui-test.sikuli/1373865829456.png differ
diff --git a/org.tizen.common/test/sikuli/tizen-ide-ui-test.sikuli/1373865867360.png b/org.tizen.common/test/sikuli/tizen-ide-ui-test.sikuli/1373865867360.png
new file mode 100644 (file)
index 0000000..304c55b
Binary files /dev/null and b/org.tizen.common/test/sikuli/tizen-ide-ui-test.sikuli/1373865867360.png differ
diff --git a/org.tizen.common/test/sikuli/tizen-ide-ui-test.sikuli/1373866273709.png b/org.tizen.common/test/sikuli/tizen-ide-ui-test.sikuli/1373866273709.png
new file mode 100644 (file)
index 0000000..0f75701
Binary files /dev/null and b/org.tizen.common/test/sikuli/tizen-ide-ui-test.sikuli/1373866273709.png differ
diff --git a/org.tizen.common/test/sikuli/tizen-ide-ui-test.sikuli/1373866395268.png b/org.tizen.common/test/sikuli/tizen-ide-ui-test.sikuli/1373866395268.png
new file mode 100644 (file)
index 0000000..6c71226
Binary files /dev/null and b/org.tizen.common/test/sikuli/tizen-ide-ui-test.sikuli/1373866395268.png differ
diff --git a/org.tizen.common/test/sikuli/tizen-ide-ui-test.sikuli/1373869011937.png b/org.tizen.common/test/sikuli/tizen-ide-ui-test.sikuli/1373869011937.png
new file mode 100644 (file)
index 0000000..5373e2e
Binary files /dev/null and b/org.tizen.common/test/sikuli/tizen-ide-ui-test.sikuli/1373869011937.png differ
diff --git a/org.tizen.common/test/sikuli/tizen-ide-ui-test.sikuli/1373869170312.png b/org.tizen.common/test/sikuli/tizen-ide-ui-test.sikuli/1373869170312.png
new file mode 100644 (file)
index 0000000..27dd262
Binary files /dev/null and b/org.tizen.common/test/sikuli/tizen-ide-ui-test.sikuli/1373869170312.png differ
diff --git a/org.tizen.common/test/sikuli/tizen-ide-ui-test.sikuli/1373873356058.png b/org.tizen.common/test/sikuli/tizen-ide-ui-test.sikuli/1373873356058.png
new file mode 100644 (file)
index 0000000..26f3af4
Binary files /dev/null and b/org.tizen.common/test/sikuli/tizen-ide-ui-test.sikuli/1373873356058.png differ
diff --git a/org.tizen.common/test/sikuli/tizen-ide-ui-test.sikuli/1373873427833.png b/org.tizen.common/test/sikuli/tizen-ide-ui-test.sikuli/1373873427833.png
new file mode 100644 (file)
index 0000000..c87bb87
Binary files /dev/null and b/org.tizen.common/test/sikuli/tizen-ide-ui-test.sikuli/1373873427833.png differ
diff --git a/org.tizen.common/test/sikuli/tizen-ide-ui-test.sikuli/1373877161869.png b/org.tizen.common/test/sikuli/tizen-ide-ui-test.sikuli/1373877161869.png
new file mode 100644 (file)
index 0000000..ee0635b
Binary files /dev/null and b/org.tizen.common/test/sikuli/tizen-ide-ui-test.sikuli/1373877161869.png differ
diff --git a/org.tizen.common/test/sikuli/tizen-ide-ui-test.sikuli/1373877178205.png b/org.tizen.common/test/sikuli/tizen-ide-ui-test.sikuli/1373877178205.png
new file mode 100644 (file)
index 0000000..d6a0ee1
Binary files /dev/null and b/org.tizen.common/test/sikuli/tizen-ide-ui-test.sikuli/1373877178205.png differ
diff --git a/org.tizen.common/test/sikuli/tizen-ide-ui-test.sikuli/1373877306612.png b/org.tizen.common/test/sikuli/tizen-ide-ui-test.sikuli/1373877306612.png
new file mode 100644 (file)
index 0000000..c749621
Binary files /dev/null and b/org.tizen.common/test/sikuli/tizen-ide-ui-test.sikuli/1373877306612.png differ
diff --git a/org.tizen.common/test/sikuli/tizen-ide-ui-test.sikuli/1373877363036.png b/org.tizen.common/test/sikuli/tizen-ide-ui-test.sikuli/1373877363036.png
new file mode 100644 (file)
index 0000000..377b6e6
Binary files /dev/null and b/org.tizen.common/test/sikuli/tizen-ide-ui-test.sikuli/1373877363036.png differ
diff --git a/org.tizen.common/test/sikuli/tizen-ide-ui-test.sikuli/1373877385908.png b/org.tizen.common/test/sikuli/tizen-ide-ui-test.sikuli/1373877385908.png
new file mode 100644 (file)
index 0000000..6cd85f7
Binary files /dev/null and b/org.tizen.common/test/sikuli/tizen-ide-ui-test.sikuli/1373877385908.png differ
diff --git a/org.tizen.common/test/sikuli/tizen-ide-ui-test.sikuli/1373883239569.png b/org.tizen.common/test/sikuli/tizen-ide-ui-test.sikuli/1373883239569.png
new file mode 100644 (file)
index 0000000..4576efe
Binary files /dev/null and b/org.tizen.common/test/sikuli/tizen-ide-ui-test.sikuli/1373883239569.png differ
diff --git a/org.tizen.common/test/sikuli/tizen-ide-ui-test.sikuli/1373883294273.png b/org.tizen.common/test/sikuli/tizen-ide-ui-test.sikuli/1373883294273.png
new file mode 100644 (file)
index 0000000..375cfe4
Binary files /dev/null and b/org.tizen.common/test/sikuli/tizen-ide-ui-test.sikuli/1373883294273.png differ
diff --git a/org.tizen.common/test/sikuli/tizen-ide-ui-test.sikuli/1373883771509.png b/org.tizen.common/test/sikuli/tizen-ide-ui-test.sikuli/1373883771509.png
new file mode 100644 (file)
index 0000000..5adbc94
Binary files /dev/null and b/org.tizen.common/test/sikuli/tizen-ide-ui-test.sikuli/1373883771509.png differ
diff --git a/org.tizen.common/test/sikuli/tizen-ide-ui-test.sikuli/1373883824021.png b/org.tizen.common/test/sikuli/tizen-ide-ui-test.sikuli/1373883824021.png
new file mode 100644 (file)
index 0000000..6d87504
Binary files /dev/null and b/org.tizen.common/test/sikuli/tizen-ide-ui-test.sikuli/1373883824021.png differ
diff --git a/org.tizen.common/test/sikuli/tizen-ide-ui-test.sikuli/1373885396049.png b/org.tizen.common/test/sikuli/tizen-ide-ui-test.sikuli/1373885396049.png
new file mode 100644 (file)
index 0000000..404d277
Binary files /dev/null and b/org.tizen.common/test/sikuli/tizen-ide-ui-test.sikuli/1373885396049.png differ
diff --git a/org.tizen.common/test/sikuli/tizen-ide-ui-test.sikuli/1373885464049.png b/org.tizen.common/test/sikuli/tizen-ide-ui-test.sikuli/1373885464049.png
new file mode 100644 (file)
index 0000000..4a6c3bd
Binary files /dev/null and b/org.tizen.common/test/sikuli/tizen-ide-ui-test.sikuli/1373885464049.png differ
diff --git a/org.tizen.common/test/sikuli/tizen-ide-ui-test.sikuli/1373885544264.png b/org.tizen.common/test/sikuli/tizen-ide-ui-test.sikuli/1373885544264.png
new file mode 100644 (file)
index 0000000..e6649a7
Binary files /dev/null and b/org.tizen.common/test/sikuli/tizen-ide-ui-test.sikuli/1373885544264.png differ
diff --git a/org.tizen.common/test/sikuli/tizen-ide-ui-test.sikuli/tizen-ide-ui-test.html b/org.tizen.common/test/sikuli/tizen-ide-ui-test.sikuli/tizen-ide-ui-test.html
new file mode 100644 (file)
index 0000000..0096b07
--- /dev/null
@@ -0,0 +1,174 @@
+
+<html>
+   <head>
+      <style type="text/css">
+         .sikuli-code {
+            font-size: 20px;
+            font-family: "Osaka-mono", Monospace;
+            line-height: 1.5em;
+            display:table-cell;
+            white-space: pre-wrap;       /* css-3 */
+            white-space: -moz-pre-wrap !important;  /* Mozilla, since 1999 */
+            white-space: -pre-wrap;      /* Opera 4-6 */
+            white-space: -o-pre-wrap;    /* Opera 7 */
+            word-wrap: break-word;       /* Internet Explorer 5.5+ */
+            width: 99%;   /* remove horizontal scroll-bar when viewing in IE7 */
+         }
+         .sikuli-code img {
+            vertical-align: middle;
+            margin: 2px;
+            border: 1px solid #ccc;
+            padding: 2px;
+            -moz-border-radius: 5px;
+            -webkit-border-radius: 5px;
+            -moz-box-shadow: 1px 1px 1px gray;
+            -webkit-box-shadow: 1px 1px 2px gray;
+         }
+         .kw {
+            color: blue;
+         }
+         .skw {
+            color: rgb(63, 127, 127);
+         }
+
+         .str {
+            color: rgb(128, 0, 0);
+         }
+
+         .dig {
+            color: rgb(128, 64, 0);
+         }
+
+         .cmt {
+            color: rgb(200, 0, 200);
+         }
+
+         h2 {
+            display: inline;
+            font-weight: normal;
+         }
+
+         .info {
+            border-bottom: 1px solid #ddd;
+            padding-bottom: 5px;
+            margin-bottom: 20px;
+            display: none;
+         }
+
+         a {
+            color: #9D2900;
+         }
+
+         body {
+            font-family: "Trebuchet MS", Arial, Sans-Serif;
+         }
+
+      </style>
+   </head>
+<body>
+<div class="info">
+<h2>tizen-ide-ui-test.sikuli</h2> <a href="tizen-ide-ui-test.zip">(Download this script)</a>
+</div>
+<pre class="sikuli-code">
+<span class="cmt"># tizen sdk luanch
+</span>openApp(<span class="str">"/home/test/tizen-sdk/ide/startup.sh -data /home/test/tizen-sdk/test/ide/workspace"</span>)
+<span class="skw">sleep</span>( <span class="dig">120</span> ) <span class="cmt">## wait ide open</span>
+
+<span class="cmt"># create tizen web test project 1, and test
+</span><span class="skw">type</span>( <span class="str">"f"</span>, KeyModifier.ALT )
+<span class="skw">sleep</span>( <span class="dig">1</span> )
+<span class="skw">type</span>( <span class="str">"n"</span> )
+<span class="skw">sleep</span>( <span class="dig">1</span> )
+<span class="skw">type</span>( <span class="str">"r"</span> )
+<span class="skw">wait</span>(<img src="1373869011937.png" />, <span class="dig">30</span>)
+<span class="skw">type</span>( <span class="str">"tizen web"</span> )
+<span class="skw">sleep</span>( <span class="dig">5</span> )
+<span class="skw">type</span>( Key.ENTER )
+<span class="skw">sleep</span>( <span class="dig">5</span> )
+<span class="skw">type</span>( Key.ENTER )
+<span class="skw">sleep</span>( <span class="dig">5</span> )
+<span class="skw">wait</span>(<img src="1373869170312.png" />, <span class="dig">10</span>)
+<span class="skw">click</span>(Pattern(<img src="1373865829456.png" />).similar(<span class="dig">0.90</span>))
+<span class="skw">sleep</span>( <span class="dig">5</span> )
+<span class="skw">wait</span>(<img src="1373885396049.png" />, <span class="dig">60</span>*<span class="dig">5</span>)
+<span class="skw">click</span>(<img src="1373865867360.png" />)
+<span class="skw">type</span>( <span class="str">"wT1"</span> )
+<span class="skw">type</span>( Key.ENTER )
+<span class="skw">sleep</span>( <span class="dig">10</span> )
+
+<span class="kw">if</span> exists(<img src="1373877306612.png" />):
+    <span class="skw">click</span>(Pattern(<img src="1373877363036.png" />).targetOffset(-<span class="dig">81</span>,<span class="dig">1</span>))
+    <span class="skw">click</span>(<img src="1373877385908.png" />)
+
+<span class="skw">sleep</span>( <span class="dig">5</span> )
+<span class="skw">type</span>( <span class="str">"w"</span>, KeyModifier.ALT )
+<span class="skw">type</span>( <span class="str">"r"</span> )
+<span class="skw">sleep</span>( <span class="dig">1</span> )
+<span class="skw">type</span>( Key.ENTER )
+<span class="skw">sleep</span>( <span class="dig">5</span> )
+
+
+
+<span class="skw">click</span>(<img src="1373866395268.png" />)
+<span class="skw">wait</span>(<img src="1373866273709.png" />)
+
+<span class="skw">type</span>( Key.F11, KeyModifier.CTRL )
+<span class="kw">if</span> exists(<img src="1373873356058.png" />):
+    <span class="skw">click</span>(<img src="1373857413406.png" />)
+<span class="skw">sleep</span>( <span class="dig">30</span> )
+<span class="skw">wait</span>(<img src="1373873427833.png" />, <span class="dig">30</span>)
+<span class="skw">click</span>(Pattern(<img src="1373883294273.png" />).targetOffset(-<span class="dig">17</span>,<span class="dig">1</span>))
+<span class="skw">sleep</span>( <span class="dig">1</span> )
+
+
+
+
+<span class="cmt"># create tizen native test project 1
+</span><span class="skw">type</span>( <span class="str">"f"</span>, KeyModifier.ALT )
+<span class="skw">sleep</span>( <span class="dig">1</span> )
+<span class="skw">type</span>( <span class="str">"n"</span> )
+<span class="skw">sleep</span>( <span class="dig">1</span> )
+<span class="skw">type</span>( <span class="str">"r"</span> )
+<span class="skw">wait</span>(<img src="1373869011937.png" />, <span class="dig">30</span>)
+<span class="skw">type</span>( <span class="str">"tizen native"</span> )
+<span class="skw">sleep</span>( <span class="dig">5</span> )
+<span class="skw">type</span>( Key.ENTER )
+<span class="skw">sleep</span>( <span class="dig">5</span> )
+<span class="skw">type</span>( Key.ENTER )
+<span class="skw">sleep</span>( <span class="dig">5</span> )
+<span class="skw">wait</span>(<img src="1373877161869.png" />,<span class="dig">10</span>)
+<span class="skw">click</span>(Pattern(<img src="1373877178205.png" />).similar(<span class="dig">0.90</span>))
+<span class="skw">sleep</span>( <span class="dig">5</span> )
+<span class="skw">wait</span>(<img src="1373885464049.png" />, <span class="dig">60</span>*<span class="dig">5</span>)
+<span class="skw">click</span>(<img src="1373865867360.png" />)
+<span class="skw">type</span>( <span class="str">"nT1"</span> )
+<span class="skw">type</span>( Key.ENTER )
+<span class="skw">sleep</span>(<span class="dig">10</span>)
+
+<span class="kw">if</span> exists(<img src="1373877306612.png" />):
+    <span class="skw">click</span>(Pattern(<img src="1373877363036.png" />).targetOffset(-<span class="dig">81</span>,<span class="dig">1</span>))
+    <span class="skw">click</span>(<img src="1373877385908.png" />)
+
+<span class="skw">sleep</span>( <span class="dig">5</span> )
+<span class="skw">type</span>( <span class="str">"w"</span>, KeyModifier.ALT )
+<span class="skw">type</span>( <span class="str">"r"</span> )
+<span class="skw">sleep</span>( <span class="dig">1</span> )
+<span class="skw">type</span>( Key.ENTER )
+<span class="skw">sleep</span>( <span class="dig">5</span> )
+
+<span class="skw">click</span>(<img src="1373866395268.png" />)
+<span class="skw">wait</span>(<img src="1373883239569.png" />)
+
+
+<span class="skw">type</span>( Key.F11, KeyModifier.CTRL )
+<span class="skw">sleep</span>( <span class="dig">1</span> )
+<span class="skw">doubleClick</span>(<img src="1373883771509.png" />)
+<span class="skw">sleep</span>( <span class="dig">1</span> )
+<span class="skw">wait</span>(<img src="1373883824021.png" />, <span class="dig">60</span>*<span class="dig">10</span> )
+<span class="skw">click</span>(Pattern(<img src="1373883294273.png" />).targetOffset(-<span class="dig">17</span>,<span class="dig">1</span>))
+<span class="skw">sleep</span>( <span class="dig">1</span> )
+<span class="skw">doubleClick</span>(Pattern(<img src="1373885544264.png" />).targetOffset(-<span class="dig">29</span>,<span class="dig">1</span>))
+<span class="skw">sleep</span>( <span class="dig">1</span> )
+</pre>
+</body>
+</html>
diff --git a/org.tizen.common/test/sikuli/tizen-ide-ui-test.sikuli/tizen-ide-ui-test.py b/org.tizen.common/test/sikuli/tizen-ide-ui-test.sikuli/tizen-ide-ui-test.py
new file mode 100644 (file)
index 0000000..67b1f42
--- /dev/null
@@ -0,0 +1,99 @@
+# tizen sdk luanch
+openApp("/home/test/tizen-sdk/ide/startup.sh -data /home/test/tizen-sdk/test/ide/workspace")
+sleep( 120 ) ## wait ide open
+
+# create tizen web test project 1, and test
+type( "f", KeyModifier.ALT )
+sleep( 1 )
+type( "n" )
+sleep( 1 )
+type( "r" )
+wait("1373869011937.png", 30)
+type( "tizen web" )
+sleep( 5 )
+type( Key.ENTER )
+sleep( 5 )
+type( Key.ENTER )
+sleep( 5 )
+wait("1373869170312.png", 10)
+click(Pattern("1373865829456.png").similar(0.90))
+sleep( 5 )
+wait("1373885396049.png", 60*5)
+click("1373865867360.png")
+type( "wT1" )
+type( Key.ENTER )
+sleep( 10 )
+
+if exists("1373877306612.png"):
+    click(Pattern("1373877363036.png").targetOffset(-81,1))
+    click("1373877385908.png")
+
+sleep( 5 )
+type( "w", KeyModifier.ALT )
+type( "r" )
+sleep( 1 )
+type( Key.ENTER )
+sleep( 5 )
+
+
+    
+click("1373866395268.png")
+wait("1373866273709.png")
+
+type( Key.F11, KeyModifier.CTRL )
+if exists("1373873356058.png"):
+    click("1373857413406.png")
+sleep( 30 )
+wait("1373873427833.png", 30)
+click(Pattern("1373883294273.png").targetOffset(-17,1))
+sleep( 1 )
+
+
+
+
+# create tizen native test project 1
+type( "f", KeyModifier.ALT )
+sleep( 1 )
+type( "n" )
+sleep( 1 )
+type( "r" )
+wait("1373869011937.png", 30)
+type( "tizen native" )
+sleep( 5 )
+type( Key.ENTER )
+sleep( 5 )
+type( Key.ENTER )
+sleep( 5 )
+wait("1373877161869.png",10)
+click(Pattern("1373877178205.png").similar(0.90))
+sleep( 5 )
+wait("1373885464049.png", 60*5)
+click("1373865867360.png")
+type( "nT1" )
+type( Key.ENTER )
+sleep(10)
+
+if exists("1373877306612.png"):
+    click(Pattern("1373877363036.png").targetOffset(-81,1))
+    click("1373877385908.png")
+
+sleep( 5 )
+type( "w", KeyModifier.ALT )
+type( "r" )
+sleep( 1 )
+type( Key.ENTER )
+sleep( 5 )
+
+click("1373866395268.png")
+wait("1373883239569.png")
+
+
+type( Key.F11, KeyModifier.CTRL )
+sleep( 1 )
+doubleClick("1373883771509.png")
+sleep( 1 )
+wait("1373883824021.png", 60*10 )
+click(Pattern("1373883294273.png").targetOffset(-17,1))
+sleep( 1 )
+doubleClick(Pattern("1373885544264.png").targetOffset(-29,1))
+sleep( 1 )