質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
RPA

RPA(Robotic Process Automation)は、ホワイトカラーの間接業務を人間に代行して自動的に行う技術や概念を指します。人間が繰り返すクリックやキーボード入力といった定型的なデスクワークを行うことから、仮想知的労働者(Digital Labor)と呼ばれることがあります。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

2回答

2645閲覧

SikuliX1.1.4に同梱のRobot FrameworkでLog.htmlにTake Screenshotのイメージが埋め込まれない

sniff

総合スコア12

RPA

RPA(Robotic Process Automation)は、ホワイトカラーの間接業務を人間に代行して自動的に行う技術や概念を指します。人間が繰り返すクリックやキーボード入力といった定型的なデスクワークを行うことから、仮想知的労働者(Digital Labor)と呼ばれることがあります。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2018/09/14 01:34

編集2018/09/14 14:46

概要

SikulixにバンドルされているRobot Frameworkをつかっています。

テストケース(.robot)内にスクリーンショットを取得するキーワード(Take Screenshot)を記述すれば

Log.html内にテスト結果とともに
画面イメージが埋め込まれるはずなのですが、
埋め込まれずに困っています。

同様の事象は関連サイトにもあり、対処方法も実施しているのですが
デバッグコードを入れたところ、原因が異なっているようで
どうすれば埋め込まれるようになるのか困っているところです。

原因、対処についてご存じの方がいらっしゃいましたら、ご教示ください。

環境

  • Windows7 Enterprise 64bit
  • SikuliX 1.1.4
  • Robot Framework(SikuliX 1.1.4にバンドルされているもの)
  • Python 2.7.1(SikuriX 1.1.4にバンドルされているもの)
  • SikulixIDE 1.1.4

やったこと

  • ソースコード

Robot_Run_01.sikuli/sample.robot(robotのスクリプト)

RobotFramework

1 2*** Variables *** 3 4*** Settings *** 5Library OperatingSystem 6Library TestLib.sikuli/TestLib.py 7Library Screenshot ${OUTPUT DIR} width=640px 8 9*** Test Cases *** 10テストケース1 11 スクリーンショットを撮る ${TEST NAME}_Before 12 電卓を表示する 13 スクリーンショットを撮る ${TEST NAME}_After 14 15 16 17*** Keywords *** 18電卓を表示する 19 open_calc 20 21スクリーンショットを撮る ${NAME} 22 Take Screenshot ${NAME} 23 24

TestLib.sikuli/Testlib.py(計算機の起動を待つ、簡単なSikuliスクリプト)

Python

1# coding: utf-8 2from sikuli import * 3# from __future__ import with_statement 4 5class TestLib(object): 6 def open_calc(self): 7 self.calc = App.open("calc") 8 wait("1536568964767.png",1) 9

Robot_Run_01.sikuli/Robot_Run_01.py(Robotを起動するスクリプト。SikulixIDEから実行)

Python

1from threading import currentThread 2 3prepareRobot() 4workdir = getBundleFolder() 5 6testdata = "sample.robot" 7 8datasource = os.path.join(workdir,testdata) 9 10# Log.htmlに画像が埋め込まれない現象の対処のため 11# 下記サイトを参考にThead名を明示的に指定➡解消せず 12# https://groups.google.com/forum/#!topic/rfw-users-jp/Z3YaEGgz3Wk 13# https://answers.launchpad.net/sikuli/+question/294598 14currentThread().name = 'MainThread' 15 16robot.run(datasource,outputdir=workdir) 17
  • 実行結果

(** SikulixIDE **)
イメージ説明
(Log.html) 画像が埋め込まれるはずが、埋め込まれない
![Log.html

ためしたこと

  • Thread名を明示的に指定した

ここここを見て、Thread名が"Mainthead"または"RobotFrameworkTimeoutThread"以外だと
logが呼ばれないということだったので、robot.run()をコールする前にThread名を明示的に指定したが改善されなかった。

  • Debug用にコードを入れて状態を確認

改善されなかったため、念のためデバッグコードを入れ、Thread名を確認したが、期待通りMainthreadになっていた。

(** librarylogger.py )
イメージ説明
Output.xmlでは期待通り"MainThread"となっている(画像へのリンクは埋め込まれている・・)
(
output.xml**)
イメージ説明

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

最新のビルドでは対策済のようです。
https://bugs.launchpad.net/sikuli/+bug/1793035

投稿2018/09/28 14:54

編集2018/09/28 14:56
maohara

総合スコア80

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

自己解決

原因がわかったわけではありませんが、Sikurix1.1.4に同梱のRobot Framework3.0を最新の3.0.4に置き換えることでやりたいことができるようになりました。

具体的には
C:\Users\ユーザ名\AppData\Roaming\Sikulix\Lib\robot
の中身をすべて入れかえたら問題が解消しました。

投稿2018/09/15 13:19

sniff

総合スコア12

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問