2026年2月11日水曜日

自動テストの練習 13 (Power Automate Desktop編④) ボタン押す

 

やりたいこと

だいぶ時間がたってしまったのですが、UWPアプリの簡単なテスト(スモークテスト?)を
PowerAutomateでやってみたいというものになります。

前回のつづきです。

今回はボタンを押すテストケースを実施してみました。
こちらの赤枠のボタンを押すテストです。



テストケースのTC3, TC4になります。

IDTestCaseの説明TestCaseの手順出力期待値
TC3Updateボタン「あいうえお」を入力する
updateボタンを押す
「あいうえお」が入力される
TC4OpenボタンOpenボタンおすエディタが起動する

操作を記録して作成してもいいとは思うのですが、
勉強のためもあるのでアクションと呼ばれるものを組み立てて自動化してみます。

Step1. UIの要素を取得

自動化対象のUIをpowerAutomateに覚えさせる操作をします。

ツールメニュー  - UI要素を調査するをクリックします。



UI要素ピッカーというウィンドウが立ち上がります。
この状態で、押したいボタンにマウスカーソルを合わせて、Ctrlを押しながらクリックすると、UI要素を記録してくれます。

記録したいUI要素を覚えさせたら、完了ボタンを押します。

PowerAutomateのウィンドウに戻って、右側のUI要素を見ると、
登録したUI要素が表示されます。


Step2. ボタンを押す

PowerAutomateのウィンドウ左側にあるアクションから
「ウィンドウ内のボタンを押す」を真ん中のウィンドウにドラッグします。

「ウィンドウ内のボタンを押す」ウィンドウが表示されるので、
UI要素のプルダウンをクリックして、押したいボタンを選択します。

これでやりたいことは完了です。

ここまででこんな感じになります。
説明はしなかったのですが、ウィンドウにフォーカスをあてる操作を最初に入れてます。


ここでやめてもいいのですが、
一応結果の判定操作もいれてみました。

入れてはみたのですが、シンプルに押せるだけを見るならうえのままでもいいのかも。

Step3. 結果の判定

 Updateボタンは押すと、textファイルに文字を入力するので、textファイルの中に、
"あいうえお"が入っているかどうかをチェックするようにしました。

Openボタンの方は、メモ帳がたちが上がるので、メモ帳のウィンドウが存在するかどうかをチェックするようにしました。

最終的にはこうしました。


memo

判定処理まで自前でいれてみたのですが、
powerautomate側でボタンがおせなかったらエラーになる仕組みが入っているので、
それで判定してもよいかもしれません。

まとめ

今回はボタンを押す操作をpowerautomateで実施してみました。
一応押したあとの動作の確認も入れてみました。

疲れた。

次回へつづく。

2026年1月17日土曜日

AI (RAG) の勉強

 AIの勉強を兼ねて、自分用のRAGにトライしてみたくなりました。


まずは、Gemini先生に無料で使えるRAGを3個紹介してもらいました。

・1. NotebookLM(最も手軽・Google製)

・2. Dify(ディファイ / 最も勉強になる・ノーコード)

・3. LM Studio(ローカル環境・完全無料)


完全無料ってとこにひかれてLM Studio を選定。


試してる環境はこちら。

OS : Windows11 25H2

CPU : i5 8400

RAM : 32GB

GPU : RTX5060


インストールして、途中でモードみたいなの聞かれたので、Developerでインストール。

(Developerを選んだほうがあとでいろいろ設定が変えられるというこでdeveloperを選択)


Gemini先生の言うままに、検索窓から、Shallow-8B.... というのを検索してインストール。

おお。chatgptみたいなことができた!


ただローカルでLLMが使えるようになっただけですが、

今日はここまで。


2025年8月12日火曜日

テスト自動化実践ガイド

「テスト自動化実践ガイド」を読んでます。



この夏に、第2部のサンプルアプリをつかって、自動テストをするところをチャレンジしたいと思ってます。


25/8/12

第2部をやるために、いろいろ準備作業があるのですが、Gitからインポートするところまでできました。

Gitをはじめて使うので、おそるおそる試してます。

cloneってなんだろ...


25/8/14

やっとテスト用のページにアクセスできるようになった。

windowsでためしてるのですが、http://0.0.0.0:8080だと、アクセスできないようで、

http://localhost:8080/だとアクセスできることが分かりました。

これで進められそう。





2025年5月4日日曜日

自動テストの練習 12 (Power Automate Desktop編③) 文字入力

 


やりたいこと

UWPアプリの簡単なテスト(スモークテスト?)をPowerAutomateでやってみたいというものになります。

前回のつづきです。

今回は文字を入力するテストケースを実施してみました。

こちらの赤枠に文字列を入力するテストになります。

テストケースのTC2になります。

IDTestCaseの説明TestCaseの手順出力期待値
TC2文字の入力「あいうえお」を入力する
enterを押す
「あいうえお」が入力される


作り方

Step1 準備(サブフロー)

今回のやりたいことと、関係ないのですが、
準備として、前回作った起動チェックのフローをサブフローにしておきます。
可読性を上げることが目的です。

サブフローメニュー - 新しいサブフローをクリック

サブフローの追加ダイアログで、"起動チェック"という名前を付けて、保存ボタンを押す。

Mainのフローの隣に"起動チェック"のタブができます。
ここに、起動チェックするフローを移動しておきます。


移動のしかたは、Mainのタブにあるスクリプトを全部選択(Ctrl+A)して、
右クリック - コピーします。
起動チェックのタブに移動して、右クリック - 貼り付けします。
(貼り付け前)

(貼り付け後)


Mainフロー側のフローを削除(選択して、Deleteキー)して、
サブフローを実行するフローを追加して、完了です。


これでMainフローがちょっとすっきりしました。



Step2

ここからが本題になります。
"あいうえお"をエディットボックスに入力するところを実施します。

左側のアクションを並べて組み立てていく方法もあるのですが、
どのアクションを使えばよいかわからないので、まずは操作を記録する機能を使いました。

レコーダーボタンをおす。

レコーダーダイアログが起動するので、起動ボタンを押すと、その後の操作を記録してくれます。

対象のアプリ側を操作すると、操作を覚えてそうな、動きをし始めます。


終わると、操作が記録されます。

完了すると、Mainフロー側に記録された操作が登録されます。

いらない、コメントとかは削除して、サブフローが変な場所にあったので、並び替えてこうしました。

これで、入力する操作は完了です。

Step3

判定を追加しました。
疲れてきたので、細かい説明は省略します。



まとめ

入力して、その結果を判定するところまでやってみました。
長くなってしまったのですが、実際やってみると、それほどつっかかることなくできました。
power automate おそるべし。

次回に続く。





2025年4月29日火曜日

自動テストの練習 11 (Power Automate Desktop編②) 起動

 


やりたいこと

自分の作ったアプリで簡単な自動テストをするということをやってました。
詳細はこちらをご参照ください。
UWSCというツールで、一通り行って、Autoitは挫折して、今回は第三弾のPowerAutomateとなります。


テストケース

今回は起動するところまでやってみます。
テストケースはこちらになります。
IDTestCaseの説明TestCaseの手順出力期待値
TC1起動exeを実行する起動する


つくりかた

マウス操作を記録して、実行もできます。記録ボタンをおして、スタートメニュー > アプリ > ...と操作を記録して、実行をするという。そういうやり方もあるとは思うのですが、 ここはスピード重視でexeを直接起動します。

Microsoft Storeアプリ (UWP)のアプリのexeを起動する方法がちょっと、苦労したので、その辺から説明します。


Step1

storeアプリの場合、exeがどこにあるのかわからないので、amuidなるものを取得します。
テスト対象のアプリを起動した状態で、Terminal(コマンドプロンプト)で、"Get-StartApps"と入力すると、起動中アプリのamuidの一覧を取得することができます。

(参考にしたサイト)
・PowerAutomateにexeを設定する方法

・amuidの説明

Step2

Power Automate でシステム>アプリケーションの実行のアクションを挿入します。
アプリケーションパスのところに、
"shell:AppsFolder\"  と " アプリのamuid "を入力します。

このようなもの。
shell:AppsFolder\337753drum.memotter_gcx7atcs45bsc!App



これで起動できるようになります。

Step3

いちおう、結果を判定する仕組みも入れてみました。
いらないのかもしれませんが。
プロセス名があれば、OKのメッセージをだして、だめならNGのメッセージを出してます。
メッセージボックスは最終的にはログ出力とかに置き換えたいです。



まとめ

PowerAutomateで起動して、それをチェックするところまでやってみました。


次回へ続く予定です。


2025年4月22日火曜日

自動テストの練習 10 (Power Automate Desktop編①) 準備

 


スタートメニューからPower AutoMate を起動し、
MSのアカウントでログインして、起動できるところまで確認しました。





PowerAutomateは、有償版もあるようですが、今回はWin11にデフォルトで入ってる。
PowerAutomateDesktopという無料版を使います。

詳細はこちら

ちなみに有料版はこちら

今回はここまで。



2025年4月20日日曜日

また、ひさしぶりのAndroid Studio (2)

自作アプリをのGoogle playへの再アップのため、Android Studioと格闘してます。
現時点の状況を記載します。
環境
OS : Windows 11 24H2
Android Studio : 2024.2.1 Pach 3
状況
Basic Activityを選択して、プロジェクトを作成しました。
とりあえず、見た目を近づけるようにしてます。
今はこんな感じ。

前回のソースからコピペで作ってるのに、なぜか、いろがちょっと違ったりする。

なぜ?

2025年4月19日土曜日

また、ひさしぶりのAndroid Studio (1)

google playのアカウントが先日閉鎖されてしまいました。
これを復活するべく、以前に作ったAndroid のprojectを実行したところ、一杯エラーがでてよくわからないので、
もう一度作り直すことにしました。

まずは以前の記事と、以前のソースを見ながら、進めていこうと思います。

むかしの記事
ひさしぶりのAndroid studio
ひさしぶりの Android studio2 editoboxを追加
ひさしぶりのAndroid studio 3 みため
ひさしぶりの Android Studio 5 ファイル入出力
ひさしぶりの Android Studio 6 アイコン作成 (おてがるに)
ひさしぶりの android studio7 admob
ひさしぶりのAndroid Studio 8 プライバシーポリシー

2024年8月25日日曜日

【悲報】Google Playのアカウント閉鎖されちゃった...

 Google Play上で二つほどアプリを登録していたのですが、

アカウント自体が閉鎖されてしまいました....

警告のメールが届いていて、アプリをアップロードしようとしてたのですが、間に合わず、閉鎖に至りました。


再開するにはもう一回お金払って、アカウント作る必要があるようです...

残念...

2024年3月30日土曜日

UWP datagrid 入門

やりたいこと
Microsoftのこちらのページの通りにコードを書いて、
下図のようなdatagridが表示されるまでをやってみます。

「How to: Add a DataGrid control to a page」
https://learn.microsoft.com/ja-jp/windows/communitytoolkit/controls/datagrid_guidance/datagrid_basics







自分がよくわかっていないだけだと思うのですが、
Microsoftのページの記載だけだと、途中で一回行き詰りました。
つまずいたあたりを中心に忘れないように整理しておきます。
環境
Win11 23H2
Visual Studio 2022 community
Step1.プロジェクト作成
Visual Studioで「空白のアプリ(ユニバーサルWindows)」のプロジェクトを作成する。
プロジェクト名や、ターゲットバージョンは適当に設定します。
Step2.datagridのパッケージを追加
プロジェクトメニュー > NuGetパッケージの管理...を選択。
参照を選択
datagridで検索
「Microsoft.Toolkit.UWP.UI.Controls.DataGrid」をインストールする。


Step3.xamlの編集
MainPage.xamlに下記の行を追加します。



Step4.datagridに値を入れるクラスを準備する (ここでつまずいた)
ソリューションエクスプローラー > 追加 > 新しい項目 > クラス
MyViewModelというクラスを追加する。
MyViewModelの中で、参考にしたサイトにあるCustomerクラスを呼び出すようにします。
MyViewModelのクラスとCustomerクラスがこうなります。
Customerクラスは参考サイトのままです。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace App11
{
    public class MyViewModel
    {
        private List _customers = new List();

        public MyViewModel()
        {
            _customers = Customer.Customers();
        }

        public List customers
        {
            get { return _customers; }
        }
    }

    public class Customer
    {
        public String FirstName { get; set; }
        public String LastName { get; set; }
        public String Address { get; set; }
        public Boolean IsNew { get; set; }

        public Customer(String firstName, String lastName,
            String address, Boolean isNew)
        {
            this.FirstName = firstName;
            this.LastName = lastName;
            this.Address = address;
            this.IsNew = isNew;
        }

        public static List Customers()
        {
            return new List(new Customer[4] {
            new Customer("A.", "Zero",
                "12 North Third Street, Apartment 45",
                false),
            new Customer("B.", "One",
                "34 West Fifth Street, Apartment 67",
                false),
            new Customer("C.", "Two",
                "56 East Seventh Street, Apartment 89",
                true),
            new Customer("D.", "Three",
                "78 South Ninth Street, Apartment 10",
                true)
        });
        }
    }
}

MainPage.xaml.cs側でMyviewModelをnewします。
namespace App11
{
    /// 
    /// それ自体で使用できる空白ページまたはフレーム内に移動できる空白ページ。
    /// 
    public sealed partial class MainPage : Page
    {
        public MyViewModel mv = new MyViewModel();

        public MainPage()
        {
            this.InitializeComponent();
        }
    }
}

Step5.xamlの編集(2)
MainPage.xamlに下記のように更新します


結果
実行するとデータグリッドビューが表示されます。
よかった。
苦労した点
msのサイトに記載のcustomerクラスをどうやってつかったらよいのかわからず。
途中で行き詰ってしまいました。

2024年3月20日水曜日

UWP データバインディングの勉強

 こちらのページで勉強する予定。


https://learn.microsoft.com/ja-jp/training/modules/implement-data-binding-in-windows-10-app/?source=recommendations


UWPでデータグリッドを使おうと思って↓のページを参考に進めてたのですが、Viewmodelがでてきたところで挫折してしまいました。

なので、まずは↑のページでデータバインディングを勉強しようと思ってます。


https://learn.microsoft.com/ja-jp/windows/communitytoolkit/controls/datagrid_guidance/datagrid_basics


MVVMよくわらかない...

2023年9月22日金曜日

巨大な数字の計算

巨大な数字の計算に興味があったので、ググってみたらこちらに

たどり着きました。

あとでじっくり読んでみよ。


https://qiita.com/square1001/items/1aa12e04934b6e749962

2023年9月10日日曜日

CUDA 1

やりたいこと
CUDAでプログラミングして、高速な処理ができたらいいなと思い、CUDAに入門することにしました。
そのメモになります。
環境
OS : Windows11 22H2
IDE : Visual Studio 2019
GPU : GTX1660 super
CUDA : cuda_12.2.2_537.13_windows
0.参考資料
こちらのサイトを参考にCUDAのトライアルをすすめました。
https://developer.nvidia.com/how-to-cuda-c-cpp
CUDA Toolkitのページ → Training → C/C++ using CUDA C をたどりました。
基本的にはここの動画を参考に進めていくことにしました。
1.ダウンロード
こちらからダウンロードしました。
https://developer.nvidia.com/cuda-toolkit
2.サンプルを起動するまで
ここからサンプルをダウンロードしました。
トライアルの動画だと、toolkitをダウンロードすると勝手にサンプルも入ることになってますが、
どこかのバージョンからtoolkitには同梱されなくなったそうなので、こちらからダウンロードする必要がありました。
https://github.com/nvidia/cuda-samples



ダウンロードしたファイルの中のmatrixMulというものを実行する。
参考にした動画でmatrixMulを実行していたので、そうしました。



実行結果


succesと表示され、成功しました。
ひきつづき、2個目の動画もみてみます。