(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-08-23
(54)【発明の名称】ターゲットプログラムのテスト方法、装置、機器、及びコンピュータプログラム
(51)【国際特許分類】
G06F 11/36 20060101AFI20240816BHJP
【FI】
G06F11/36 196
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2024513528
(86)(22)【出願日】2022-10-10
(85)【翻訳文提出日】2024-02-28
(86)【国際出願番号】 CN2022124383
(87)【国際公開番号】W WO2023093327
(87)【国際公開日】2023-06-01
(31)【優先権主張番号】202111424326.3
(32)【優先日】2021-11-26
(33)【優先権主張国・地域又は機関】CN
(81)【指定国・地域】
(71)【出願人】
【識別番号】517392436
【氏名又は名称】▲騰▼▲訊▼科技(深▲セン▼)有限公司
【氏名又は名称原語表記】TENCENT TECHNOLOGY (SHENZHEN) COMPANY LIMITED
【住所又は居所原語表記】35/F,Tencent Building,Kejizhongyi Road,Midwest District of Hi-tech Park,Nanshan District, Shenzhen,Guangdong 518057,CHINA
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100229448
【氏名又は名称】中槇 利明
(72)【発明者】
【氏名】黄嘉敏
(72)【発明者】
【氏名】顔俊鴻
(72)【発明者】
【氏名】倪栩生
(72)【発明者】
【氏名】黄▲燦▼▲輝▼
【テーマコード(参考)】
5B042
【Fターム(参考)】
5B042GA22
5B042HH07
5B042HH50
5B042NN04
5B042NN42
(57)【要約】
ターゲットプログラムのテスト方法、装置、機器、及び記憶媒体である。前記方法は、シミュレータのユーザーインターフェースを表示するステップであり、シミュレータには、前記ターゲットプログラムが読み込まれ、ユーザーインターフェースには、前記ターゲットプログラムのプログラムページが表示されるステップと、アクセシビリティモードの起動操作に応答して、シミュレータにおいてアクセシビリティモードを起動させるステップと、アクセシビリティモードで、ターゲットプログラムのプログラムページにおけるページ要素に、アクセシビリティのデザイン情報を表示するステップと、を含む。本出願は、実際のユーザー端末でターゲットプログラムを実行させる必要がなく、可視化方式で、シミュレータにアクセシビリティのテストを直接的に実現できる。
【特許請求の範囲】
【請求項1】
端末機器が実行するターゲットプログラムのテスト方法であって、前記方法は、
シミュレータのユーザーインターフェースを表示するステップであり、
前記シミュレータには、前記ターゲットプログラムが読み込まれ、
前記ユーザーインターフェースには、前記ターゲットプログラムのプログラムページが表示される、ステップと、
アクセシビリティモードの起動操作に応答して、前記シミュレータで前記アクセシビリティモードを起動させる、ステップと、
前記アクセシビリティモードで、前記ターゲットプログラムのプログラムページにおけるページ要素に、アクセシビリティのデザイン情報を表示する、ステップと、
を含む、方法。
【請求項2】
前記アクセシビリティのアクセス情報は、アクセシビリティの朗読情報を含み、
前記アクセシビリティモードで、前記ターゲットプログラムのプログラムページにおけるページ要素にアクセシビリティのデザイン情報を表示する前記ステップは、
前記シミュレータのユーザーインターフェースに、前記アクセシビリティモードのツールバーを表示するステップであり、
前記ツールバーは、第1のトリガーコントロールを含む、ステップと、
前記第1のトリガーコントロールに対するトリガー操作に応答して、前記ターゲットプログラムのプログラムページにおけるページ要素に、前記アクセシビリティの朗読情報を表示する、ステップと、
を含む、請求項1に記載の方法。
【請求項3】
前記プログラムページには、朗読情報を有する少なくとも1つのページ要素が含まれ、
前記ターゲットプログラムのプログラムページにおけるページ要素に、前記アクセシビリティの朗読情報を表示する前記ステップは、
前記ターゲットプログラムのプログラムページにおける全て又は一部の前記ページ要素に、第1のマーキングフレームを表示するステップであり、
前記第1のマーキングフレームには、前記ページ要素の朗読情報が表示される、ステップ、を含む、
請求項2に記載の方法。
【請求項4】
前記ターゲットプログラムのプログラムページにおける全て又は一部の前記ページ要素に、第1のマーキングフレームを表示する前記ステップは、
前記ターゲットプログラムのプログラムページにおける各ページ要素のリッチネットワークアプリケーションプログラムARIAラベルを読み取るステップであり、
前記ARIAラベルには、前記ページ要素の朗読情報が記録される、ステップと、
前記各ページ要素のARIAラベルに基づいて、前記各ページ要素に、前記第1のマーキングフレームを表示する、ステップと、
を含む、請求項3に記載の方法。
【請求項5】
前記アクセシビリティのデザイン情報は、アクセシビリティの操作可能な領域情報を含み、
前記アクセシビリティモードで、前記ターゲットプログラムのプログラムページにおけるページ要素に、アクセシビリティのデザイン情報を表示する前記ステップは、
前記シミュレータのユーザーインターフェースに、前記アクセシビリティモードのツールバーを表示するステップであり、
前記ツールバーは、第2のトリガーコントロールを含む、ステップと、
前記第2のトリガーコントロールに対するトリガー操作に応答して、前記ターゲットプログラムのプログラムページにおけるページ要素に、前記アクセシビリティの操作可能な領域情報を表示する、ステップと、
を含む、請求項1に記載の方法。
【請求項6】
前記プログラムページには、マンマシンインタラクション操作をサポートする少なくとも1つのページ要素が含まれ、
前記ターゲットプログラムのプログラムページにおけるページ要素に、前記アクセシビリティの操作可能な領域情報を表示する前記ステップは、
前記ターゲットプログラムのプログラムページにおける全て又は一部の前記ページ要素に第2のマーキングフレームを表示するステップであり、
前記第2のマーキングフレームには、前記ページ要素の操作可能な領域情報が表示される、ステップ、を含む、
請求項5に記載の方法。
【請求項7】
前記ターゲットプログラムのプログラムページにおける全て又は一部の前記ページ要素に、第2のマーキングフレームを表示する前記ステップは、
前記ターゲットプログラムのプログラムページにおける、操作要素がバインディングされた各ページ要素、及び、前記各ページ要素の操作可能な領域情報を読み取るステップと、
前記各ページ要素の操作可能な領域情報に基づいて、前記各ページ要素に、前記第2のマーキングフレームを表示するステップと、
を含む、請求項6に記載の方法。
【請求項8】
前記アクセシビリティモードで、前記ターゲットプログラムのプログラムページにおけるページ要素に、アクセシビリティのデザイン情報を表示する前記ステップは、
前記シミュレータのユーザーインターフェースに、前記アクセシビリティモードのツールバーを表示するステップであり、
前記ツールバーは、第1のトリガーコントロール及び第2のトリガーコントロールを含む、ステップと、
前記第1のトリガーコントロール及び前記第2のトリガーコントロールに対するトリガー操作に応答して、前記ターゲットプログラムのプログラムページにおけるページ要素に、混合マーキングフレームを表示するステップであり、
前記混合マーキングフレームには、前記アクセシビリティの操作可能な領域情報及び朗読情報が表示される、ステップと、
を含む、請求項1に記載の方法。
【請求項9】
前記シミュレータで前記アクセシビリティモードを起動させる前記ステップは、
シミュレータプラグインにおけるスクリプトを前記ターゲットプログラムのレンダーレイヤコードに導入して実行させるステップであり、
前記シミュレータプラグインは、前記アクセシビリティモードの機能を提供するためのものである、ステップと、
前記スクリプトを導入した後で、前記ターゲットプログラムのプログラムページを改めてレンダリングするステップと、
を含む、請求項8に記載の方法。
【請求項10】
前記ターゲットプログラムは、ウェブページプログラム及びミニプログラムのうちの少なくとも1つを含み、
前記ミニプログラムは、ホストプログラムに依存して実行されるプログラムである、
請求項8に記載の方法。
【請求項11】
ターゲットプログラムのテスト装置であって、
シミュレータのユーザーインターフェースを表示する表示モジュールであり、
前記シミュレータには、前記ターゲットプログラムが読み込まれ、前記ユーザーインターフェースには、前記ターゲットプログラムのプログラムページが表示される、表示モジュールと、
アクセシビリティモードの起動操作に応答して、前記シミュレータで、前記アクセシビリティモードを起動させる、起動モジュールと、
前記アクセシビリティモードで、前記ターゲットプログラムのプログラムページにおけるページ要素に、アクセシビリティのデザイン情報を表示する、アクセシビリティテストモジュールと、
を含む、装置。
【請求項12】
コンピュータ機器であって、
前記コンピュータ機器は、プロセッサー及びメモリを含み、
前記メモリには、コンピュータプログラムが記憶され、
前記コンピュータプログラムは、前記プロセッサーによって実行されると、前記コンピュータ機器に、請求項1~10の何れか1項に記載の方法を実施させる、
コンピュータ機器。
【請求項13】
コンピュータプログラムであって、
前記コンピュータプログラムにはコンピュータプログラムが記憶され、
前記コンピュータプログラムは、プロセッサーによって実行されると、前記プロセッサーを有する機器に、請求項1~10の何れか1項に記載の方法を実施させる、
コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ソフトウェアテストの分野に関する。そして、特には、ターゲットプログラムのテスト方法、装置、機器、及び記憶媒体に関する。
【0002】
本出願は、中国国家知識産権局に2021年11月26日に提出され、出願番号が202111424326.3であり、発明の名称が「ターゲットプログラムのテスト方法、装置、機器及び記憶媒体」である、中国特許出願について優先権を主張するものであり、その全ての内容は本出願に援用されている。
【背景技術】
【0003】
インターネット製品において、バリアフリーデザインは、主に、インターネット製品のアクセス可能性を指す。バリアフリーデザインは、ユーザーが、インターネット製品のコンテンツを直接又は間接的に認識、理解、及び交換できる特性である。例えば、視覚障害者も、タッチデザインによるアプリケーションプログラムを正常に使用できる。
【0004】
あるミニプログラム(「mini program」、「ミニアプリ」、「アプレット」とも呼ばれる。)の開発を例として、開発者は、デベロッパーツールのプレビュー機能によって、実際のクライアントでミニプログラムをプレビューして、クライアントのバリアフリーモードを起動させた後で、ミニプログラムにおける各コンポーネント要素のバリアフリー特性を実際にテストする。例えば、開発者は、アップルオペレーティングシステムiOSで設定->汎用->補助機能->ナレーション開始によって、画面読み上げモードを起動させ、あるコンポーネントがフォーカスされた場合に、アクセス可能なリッチインターネットアプリケーションプログラム(Accessible Rich Internet Applications、ARIA)ラベルに付けられる情報を朗読する。
【発明の概要】
【発明が解決しようとする課題】
【0005】
上記のテスト方法は実際の端末で実行しなければならず、操作ステップが煩雑であるだけでなく、端末上の朗読機能に依存し、テスト効率が低い。
【0006】
本出願は、ターゲットプログラムのテスト方法、装置、機器、及び記憶媒体を提供する。技術案は、以下の通りである。
【課題を解決するための手段】
【0007】
本出願の1つの態様によれば、端末機器が実行するターゲットプログラムのテスト方法を提供し、前記方法は、
シミュレータのユーザーインターフェースを表示するステップであり、前記シミュレータには前記ターゲットプログラムが読み込まれ、前記ユーザーインターフェースには前記ターゲットプログラムのプログラムページが表示される、ステップと、
アクセシビリティモードの起動操作に応答して、前記シミュレータで前記アクセシビリティモードを起動させるステップと、
前記アクセシビリティモードで、前記ターゲットプログラムのプログラムページにおけるページ要素にアクセシビリティのデザイン情報を表示するステップと、を含む。
【0008】
本出願の1つの態様によれば、ターゲットプログラムのテスト装置を提供し、前記装置は、
シミュレータのユーザーインターフェースを表示する表示モジュールであり、前記シミュレータには前記ターゲットプログラムが読み込まれ、前記ユーザーインターフェースには前記ターゲットプログラムのプログラムページが表示される、表示モジュールと、
アクセシビリティモードの起動操作に応答して、前記シミュレータで前記アクセシビリティモードを起動させる、マンマシンインタラクションモジュールと、
前記アクセシビリティモードで、前記ターゲットプログラムのプログラムページにおけるページ要素にアクセシビリティのデザイン情報を表示する、アクセシビリティテストモジュールと、を含む。
【0009】
1つの可能な設計において、前記アクセシビリティのアクセス情報は、アクセシビリティの朗読情報を含み、前記表示モジュールは、前記シミュレータのユーザーインターフェースに前記アクセシビリティモードのツールバーを表示し、前記ツールバーは、第1のトリガーコントロールを含み、前記アクセシビリティテストモジュールは、前記第1のトリガーコントロールに対するトリガー操作に応答して、前記ターゲットプログラムのプログラムページにおけるページ要素に前記アクセシビリティの朗読情報を表示する。
【0010】
1つの可能な設計において、前記プログラムページには、朗読情報を有する少なくとも1つのページ要素が含まれ、
前記アクセシビリティテストモジュールは、前記第1のトリガーコントロール上のトリガー操作に応答して、前記ターゲットプログラムのプログラムページにおける全て又は一部のページ要素に第1のマーキングフレームを表示し、前記第1のマーキングフレームには、前記ページ要素の朗読情報が表示される。
【0011】
1つの可能な設計において、前記アクセシビリティテストモジュールは、前記第1のトリガーコントロール上のトリガー操作に応答して、前記ターゲットプログラムのプログラムページにおける各ページ要素のARIAラベルを読み取り、前記ARIAラベルには、前記ページ要素の朗読情報が記録され、前記各ページ要素のARIAラベルに基づいて、前記各ページ要素に前記第1のマーキングフレームを表示する。
【0012】
1つの可能な設計において、前記アクセシビリティのアクセス情報は、アクセシビリティの操作可能な領域情報を含み、
前記表示モジュールは、前記シミュレータのユーザーインターフェースに前記アクセシビリティモードのツールバーを表示し、前記ツールバーは、第2のトリガーコントロールを含み、前記アクセシビリティテストモジュールは、前記第2のトリガーコントロールに対するトリガー操作に応答して、前記ターゲットプログラムのプログラムページにおけるページ要素に前記アクセシビリティの操作可能な領域情報を表示する。
【0013】
1つの可能な設計において、前記プログラムページには、マンマシンインタラクション操作をサポートする少なくとも1つのページ要素が含まれ、
前記アクセシビリティテストモジュールは、前記第2のトリガーコントロール上のトリガー操作に応答して、前記ターゲットプログラムのプログラムページにおける全て又は一部のページ要素に第2のマーキングフレームを表示し、前記第2のマーキングフレームには、前記ページ要素の操作可能な領域情報が表示される。
【0014】
1つの可能な設計において、前記アクセシビリティテストモジュールは、前記第2のトリガーコントロール上のトリガー操作に応答して、前記ターゲットプログラムのプログラムページにおける、操作要素がバインディングされた各ページ要素、及び前記各ページ要素の操作可能な領域情報を読み取り、前記各ページ要素の操作可能な領域情報に基づいて、前記各ページ要素に前記第2のマーキングフレームを表示する。
【0015】
1つの可能な設計において、前記表示モジュールは、前記シミュレータのユーザーインターフェースに前記アクセシビリティモードのツールバーを表示し、前記ツールバーは、第1のトリガーコントロール及び第2のトリガーコントロールを含み、
前記アクセシビリティテストモジュールは、前記第1のトリガーコントロール及び前記第2のトリガーコントロールに対するトリガー操作に応答して、前記ターゲットプログラムのプログラムページにおけるページ要素に混合マーキングフレームを表示し、前記混合マーキングフレームには、前記アクセシビリティの操作可能な領域情報及び朗読情報が表示される。
【0016】
1つの可能な設計において、前記アクセシビリティテストモジュールは、アクセシビリティモードの起動操作に応答して、シミュレータプラグインにおけるスクリプトを前記ターゲットプログラムのレンダーレイヤコードに導入して実行させ、前記シミュレータプラグインは、前記アクセシビリティモードの機能を提供し、前記スクリプトを導入した後で、前記ターゲットプログラムのプログラムページを改めてレンダリングする。
【0017】
1つの可能な設計において、前記ターゲットプログラムは、ウェブページプログラム及びミニプログラムのうちの少なくとも1つを含み、前記ミニプログラムは、ホストプログラムに依存して実行されるプログラムである。
【0018】
本出願の1つの態様によれば、コンピュータ機器を提供し、前記コンピュータ機器は、プロセッサー及びメモリを含み、前記メモリには、コンピュータプログラムが記憶され、前記コンピュータプログラムは、前記プロセッサーによって実行されることで、前記コンピュータ機器に、上記のターゲットプログラムのテスト方法を実現させる。
【0019】
本出願の別の態様によれば、コンピュータ可読記憶媒体を提供し、前記記憶媒体には、コンピュータプログラムが記憶され、前記コンピュータプログラムは、プロセッサーによって実行されることで、上記のターゲットプログラムのテスト方法を実現する。
【0020】
本出願の別の態様によれば、コンピュータプログラム製品を提供し、前記コンピュータプログラム製品には、コンピュータプログラムが記憶され、前記コンピュータプログラムは、プロセッサーによって実行されることで、上記のターゲットプログラムのテスト方法を実現する。
【発明の効果】
【0021】
本出願の実施例が提供する技術案による有益な効果は、少なくとも以下を含む。
シミュレータにアクセシビリティモードを追加して、アクセシビリティモードで、アクセシビリティ関連のデザイン情報を可視化情報の形態でシミュレータのユーザーインターフェースに表示することで、可視化方式で、シミュレータにアクセシビリティのテストを直接的に実現でき、実際のユーザー端末でターゲットプログラムを実行させる必要がなく、大量のテストステップを節約して、テスト効率を向上する。
【図面の簡単な説明】
【0022】
【
図1】本出願の1つの例示的な実施例が提供する、コンピュータシステムの構造ブロック図である。
【
図2】本出願の1つの例示的な実施例が提供する、ホストプログラム及びミニプログラムの構造概略図である。
【
図3】本出願の1つの例示的な実施例が提供する、ターゲットプログラムのテスト方法のフローチャートである。
【
図4】本出願の1つの例示的な実施例が提供する、アクセシビリティモードのインターフェース概略図である。
【
図5】本出願の1つの例示的な実施例が提供する、ターゲットプログラムのテスト方法のフローチャートである。
【
図6】本出願の1つの例示的な実施例が提供する、アクセシビリティモードのインターフェース概略図である。
【
図7】本出願の1つの例示的な実施例が提供する、アクセシビリティモードのインターフェース概略図である。
【
図8】本出願の1つの例示的な実施例が提供する、アクセシビリティモードのインターフェース概略図である。
【
図9】本出願の1つの例示的な実施例が提供する、アクセシビリティモードのインターフェース概略図である。
【
図10】本出願の1つの例示的な実施例が提供する、アクセシビリティモードのインターフェース概略図である。
【
図11】本出願の1つの例示的な実施例が提供する、アクセシビリティモードのインターフェース概略図である。
【
図12】本出願の1つの例示的な実施例が提供する、アクセシビリティモードのインターフェース概略図である。
【
図13】本出願の1つの例示的な実施例が提供する、アクセシビリティモードのインターフェース概略図である。
【
図14】本出願の1つの例示的な実施例が提供する、アクセシビリティモードのインターフェース概略図である。
【
図15】本出願の1つの例示的な実施例が提供する、アクセシビリティモードのインターフェース概略図である。
【
図16】本出願の1つの例示的な実施例が提供する、ターゲットプログラムのテスト方法のフローチャートである。
【
図17】本出願の1つの例示的な実施例が提供する、アクセシビリティモードプラグインのスクリプト挿入図である。
【
図18】本出願の1つの例示的な実施例が提供する、ターゲットプログラムのテスト方法のシーケンス概略図である。
【
図19】本出願の1つの例示的な実施例が提供する、ターゲットプログラムのテスト装置のブロック図である。
【
図20】本出願の1つの例示的な実施例が提供する、コンピュータ機器のブロック図である。
【発明を実施するための形態】
【0023】
本出願の目的、技術案及び利点をより明らかにするために、以下では、図面を結合して、本出願の実施形態をさらに詳しく記載する。
【0024】
図1は、本出願の1つの例示的な実施例が提供するコンピュータシステム100の構造ブロック図である。当該コンピュータシステム100は、端末120及びサーバークラスタ140を含む。本出願の実施例において言及される「端末機器」は、「端末」と略称される。
【0025】
端末120は、スマートフォン、タブレット、電子書籍リーダー、MP3(Moving Picture Experts Group Audio Layer III、動画専門家集団オーディオレイヤー3)再生装置、MP4(Moving Picture Experts Group Audio Layer IV、動画専門家集団オーディオレイヤー4)再生装置、ラップトップコンピュータ、及びデスクトップコンピュータなど、であってもよい。端末120は、ターゲットプログラムの開発、コンパイ、ル及びテストに適用される。ターゲットプログラムは、ハイパーテキストマークアップ言語(Hyper Text Markup Language、HTML)に基づいて開発されるアプリケーションプログラムである。概略的に、ターゲットプログラムは、ウェブページアプリケーション及びミニプログラムを含む。ウェブページアプリケーションは、従来のブラウザで実行されるアプリケーションであり、ミニプログラムは、ホストプログラムが提供する実行環境に依存して実行されるアプリケーションである。ホストプログラムは、ミニプログラムにweb類実行環境を提供することで、ミニプログラムは、ホストプログラムが提供する実行環境に読み込まれて、実行される。任意選択で、端末120にはターゲットプログラムのシミュレータが実行され、当該シミュレータは、ターゲットプログラムに対して実行環境をシミュレーションする。
【0026】
端末120は、有線ネットワーク又は無線ネットワークを介して、サーバークラスタ140に接続される。
【0027】
サーバークラスタ140は、複数のサーバー、仮想クラウド記憶、又はクラウドコンピューティングセンターのうちの何れか1つである。サーバークラスタ140は、端末120上の所定のアプリケーションプログラム、端末120上のホストプログラム、及びミニプログラムにバックグラウンドサービスを提供する。サーバークラスタ140は、データ記憶能力を具備する。任意選択で、サーバークラスタ140は、ホストプログラムサーバー142及びミニプログラムサーバー144を含む。ホストプログラムサーバー142は、端末120におけるホストプログラムに、バックグラウンドサービスを提供する。ミニプログラムサーバー144は、端末120におけるミニプログラムに、バックグラウンドサービスを提供する。
【0028】
本実施例において、サーバークラスタ140が2つのサーバーを含むことを例として説明する。但し、サーバークラスタ140に含まれるサーバーの数は、2つ以上又は2つ以下であってもよく、例えば、サーバークラスタ140は、1台のサーバー上の複数のシミュレータによって実現されるか、又は、数十台のサーバーによって実現される。これに対して、本実施例は限定しない。
【0029】
模式的な例において、端末120には、オペレーティングシステム161、ホストプログラム162、及びミニプログラムが含まれる。
図2を結合して参照すると、端末120で、オペレーティングシステム161を実行させ、オペレーティングシステム161で、ホストプログラム162を実行させ、ホストプログラム162は、ミニプログラムの実行に環境を提供する。端末120は、ミニプログラムのパッケージに基づいて、ミニプログラムを実現するためのミニプログラムロジックレイヤユニット164b、及び、相応するミニプログラムレンダーレイヤユニット164aを構築する。ミニプログラムロジックレイヤユニット164bは、パッケージにおけるページロジックコードを実行し、ミニプログラムレンダーレイヤユニット164aは、パッケージにおけるページ構造コードを実行するとともに、パッケージにおけるページスタイルコードを実行する。パッケージにおけるページロジックコード、ページ構造コード、及びページスタイルコードは、ページコードと総称される。
【0030】
オペレーティングシステム161は、端末120におけるハードウェア及びソフトウェアリソースを管理して、制御するコンピュータプログラムであり、端末120のベアマシンで直接的に実行する、最も基本的なシステムソフトウェアであり、アプリケーションプログラムは、オペレーティングシステム161のサポートで実行される。オペレーティングシステム161は、ウィンドウズ(登録商標)(Windows)オペレーティングシステム、又はLinux(登録商標)オペレーティングシステム、或いはMac OS(Appleデスクトップオペレーティングシステム)などのデスクトップオペレーティングシステムであってもよいし、iOS(アップルモバイル端末オペレーティングシステム)、又はアンドロイド(登録商標)(Android)オペレーティングシステムなどのモバイルオペレーティングシステムであってもよい。
【0031】
ホストプログラム162は、ミニプログラムをホスティングするアプリケーションプログラムであり、ミニプログラムの実現に環境を提供する。ホストプログラム162は、ネイティブアプリケーションプログラムである。ネイティブアプリケーションプログラムは、オペレーティングシステム161で直接的に実行できるアプリケーションプログラムである。ホストプログラム162は、ソーシャルアプリケーションプログラム、ミニプログラムを専門的にサポートする専用アプリケーションプログラム、ファイル管理アプリケーションプログラム、メールアプリケーションプログラム、又は、ゲームアプリケーションプログラムなど、であってもよい。ソーシャルアプリケーションプログラムは、インスタントメッセージングアプリケーション、SNS(Social Network Service、ソーシャルウェブサイト)アプリケーション、又は、ライブ配信アプリケーションなどを含む。ミニプログラムは、ホストプログラムが提供する環境で実行されるアプリケーションプログラムである。ミニプログラムは、具体的に、ソーシャルアプリケーションプログラム、ファイル管理アプリケーションプログラム、メールアプリケーションプログラム、又はゲームアプリケーションプログラムなど、であってもよい。
【0032】
ミニプログラムロジックレイヤユニット164b及び相応するミニプログラムレンダーレイヤ(ビューレイヤとも呼ばれる)ユニット164aは、ミニプログラムインスタンスを実現する。1つのミニプログラムは、1つのミニプログラムロジックレイヤユニット164b、及び、少なくとも1つのミニプログラムレンダーレイヤユニット164aによって実現される。ミニプログラムレンダーレイヤユニット164aとミニプログラムページとは、一々対応する関係にある。
【0033】
ミニプログラムレンダーレイヤユニット164aは、ミニプログラムのビューを組織して、レンダリングする。ミニプログラムロジックレイヤユニット164bは、ミニプログラム及び相応するミニプログラムページのデータ処理ロジックを処理する。ユニットは、具体的に、プロセス又はスレッドであってもよく、ミニプログラムレンダーレイヤユニット164aは、例えば、ミニプログラムレンダーレイヤスレッドであり、ミニプログラムロジックレイヤユニット164bは、例えば、ミニプログラムロジックレイヤスレッドである。ミニプログラムロジックレイヤユニット164bは、シミュレータで実行できる。ミニプログラムレンダーレイヤユニット164aとミニプログラムロジックレイヤユニット164bとは、ホストプログラムネイティブユニット162aを介して、中継通信を行って、ホストプログラムネイティブユニット162aは、ホストプログラム162とミニプログラムとの通信インターフェースであり、ホストプログラムネイティブユニット162aは、ホストプログラム162自体のスレッド又はプロセスであってもよい。各ミニプログラムページのパッケージに属するページロジックコードは、ミニプログラムロジックレイヤユニット164bが起動すると、登録を行って、当該ページロジックコードを使用してデータを処理する際に、登録されたページロジックコードを実行する。
【0034】
任意選択で、開発環境で、上記のホストプログラムの代わりとして、デベロッパーツール、例えば、コンパイル装置、シミュレータなど、を使用してもよい。当該デベロッパーツールは、ターゲットプログラムに実行環境を提供する。
【0035】
図3は、本出願の1つの例示的な実施例が提供するターゲットプログラムのテスト方法のフローチャートである。当該方法は、端末に適用されるか、又は、端末によって実行される。当該方法は、以下のステップ302~306のうちの少なくとも1つを含む。
ステップ302:シミュレータのユーザーインターフェースを表示し、シミュレータには、ターゲットプログラムが読み込まれ、ユーザーインターフェースには、ターゲットプログラムのプログラムページが表示される。
【0036】
シミュレータは、ターゲットプログラムをシミュレーションして、実行させるプログラムツールである。例示的に、シミュレータは、個別のプログラムであるか、又は、デベロッパーツールにおける1つの機能である。
【0037】
概略的に、デベロッパーツールは、シミュレータ、エディタ、デバッガ、可視化、及びクラウド開発、などの機能を提供する。開発者は、デベロッパーツールにおいて、シミュレータを起動させ、当該シミュレータを使用して、ターゲットプログラムを読み込む。
【0038】
端末は、シミュレータのユーザーインターフェースを表示し、シミュレータには、ターゲットプログラムが読み込まれ、ユーザーインターフェースには、ターゲットプログラムのプログラムページが表示される。概略的に、当該プログラムページは、ターゲットプログラムのレンダーレイヤコードに基づいて、レンダリングすることで得られる。
【0039】
ステップ304:アクセシビリティモードの起動操作に応答して、シミュレータにおいて、アクセシビリティモードを起動させる。
【0040】
シミュレータには、アクセシビリティモードが提供され、当該アクセシビリティモードは、オペレーティングシステムをシミュレーションして、バリアフリーモードを起動させた後で、ターゲットプログラムを実行させるモードである。当該アクセシビリティモードは、バリアフリーモード、バリアフリーデバッグモードなど、と呼ばれてもよい。
【0041】
シミュレータのユーザーインターフェースには、アクセシビリティモードのトリガー入口が表示され、当該トリガー入口は、メニューバー、機能ボタン、ジェスチャートリガー入口などである。
図4を結合して参照すると、シミュレータのユーザーインターフェースには、メニューバー40が提供される。当該メニューバー40のメニュー項目には、ミニプログラムモード42、プラグインモード44、及びアクセシビリティモード46が表示される。
【0042】
当該起動操作は、クリック操作、ダブルクリック操作、スライド操作、ジェスチャー操作、体感操作、圧力タッチ操作、両眼注視操作など、を含むが、これらに限定されない。
【0043】
概略的に、ユーザーが、アクセシビリティモード46をクリックした後で、シミュレータにおいて、アクセシビリティモードを起動させる。
【0044】
ステップ306:アクセシビリティモードで、ターゲットプログラムのプログラムページにおけるページ要素に、アクセシビリティのデザイン情報を表示する。
【0045】
概略的に、アクセシビリティのデザイン情報は、アクセシビリティの操作可能な領域情報及びアクセシビリティの朗読情報を含む。
【0046】
アクセシビリティの操作可能な領域情報は、アクセシビリティモードで、マンマシンインタラクション操作に応答できる各々ページ要素の、プログラムページでの対応する操作領域を指示する。
【0047】
アクセシビリティの朗読情報は、アクセシビリティモードで、ページ要素がマンマシンインタラクション操作を受信した後で、朗読をトリガーする音声情報を指示する。
【0048】
以上のように、本実施例が提供する方法によれば、シミュレータにアクセシビリティモードを追加して、アクセシビリティモードで、アクセシビリティ関連のデザイン情報を可視化情報の形態で、シミュレータのユーザーインターフェースに表示することにより、可視化方式で、シミュレータにアクセシビリティのテストを直接的に実現でき、実際のユーザー端末では、ターゲットプログラムを実行させる必要がなく、大量のテストステップを節約して、テスト効率を向上する。
【0049】
図5は、本出願の1つの例示的な実施例が提供する、ターゲットプログラムのテスト方法のフローチャートである。当該方法、は端末に適用されるか、又は、端末によって実行される。当該方法は、以下のステップ402~410のうちの少なくとも1つを含む。
ステップ402:シミュレータのユーザーインターフェースを表示し、シミュレータには、ターゲットプログラムが読み込まれ、ユーザーインターフェースには、ターゲットプログラムのプログラムページが表示される。
【0050】
シミュレータは、ターゲットプログラムをシミュレーションして実行させるプログラムツールである。例示的に、シミュレータは、個別のプログラム、又は、デベロッパーツールにおける1つの機能である。
【0051】
概略的に、デベロッパーツールは、シミュレータ、エディタ、デバッガ、可視化、及びクラウド開発などの機能を提供する。開発者は、デベロッパーツールにおいて、シミュレータを起動させ、当該シミュレータを使用して、ターゲットプログラムを読み込む。
【0052】
端末は、シミュレータのユーザーインターフェースを表示し、シミュレータには、ターゲットプログラムが読み込まれ、ユーザーインターフェースには、ターゲットプログラムのプログラムページが表示される。概略的に、当該プログラムページは、ターゲットプログラムのレンダーレイヤコードに基づいて、レンダリングすることで得られる。
【0053】
ステップ404:アクセシビリティモードの起動操作に応答して、シミュレータにおいて、アクセシビリティモードを起動させる。
【0054】
シミュレータには、アクセシビリティモードが提供され、当該アクセシビリティモードは、オペレーティングシステムをシミュレーションして、バリアフリーモードを起動させた後で、ターゲットプログラムを実行させるモードである。当該アクセシビリティモードは、バリアフリーモード、バリアフリーデバッグモードなど、と呼ばれてもよい。
【0055】
シミュレータのユーザーインターフェースには、アクセシビリティモードのトリガー入口が表示され、当該トリガー入口は、メニューバー、機能ボタン、ジェスチャートリガー入口など、である。
図4を結合して、参照すると、シミュレータのユーザーインターフェースには、メニューバー40が提供される。当該メニューバー40のメニュー項目には、ミニプログラムモード42、プラグインモード44、及びアクセシビリティモード46が表示される。
【0056】
当該起動操作は、シングルクリック操作、ダブルクリック操作、スライド操作、ジェスチャー操作、体感操作、圧力タッチ操作、両眼注視操作など、を含むが、これらに限定されない。
【0057】
概略的に、ユーザーがアクセシビリティモード46をクリックした後で、シミュレータにおいて、アクセシビリティモードを起動させる。
【0058】
ステップ406:シミュレータのユーザーインターフェースに、アクセシビリティモードのツールバーを表示し、ツールバーは、第1のトリガーコントロール及び/又は第2のトリガーコントロールを含む。
【0059】
図6に示すように、アクセシビリティモードを起動させた後で、シミュレータのユーザーインターフェースに、アクセシビリティモードのツールバー50を追加して、表示し、ツールバー50には、第1のトリガーコントロール51及び/又は第2のトリガーコントロール52が表示される。
【0060】
第1のトリガーコントロール51は、アクセシビリティの朗読情報をトリガーして、表示させるコントロールである。第2のトリガーコントロール52は、アクセシビリティの操作可能な領域情報をトリガーして、表示させるコントロールである。
【0061】
第1のトリガーコントロール51及び第2のトリガーコントロール52のコントロールタイプは、ボタン、チェックボックス、メニューバーなど、であってもよい。アクセシビリティの朗読情報は、通常、画面読み上げと呼ばれるため、第1のトリガーコントロール51は、「走査画面読み上げ」51であり、第2のトリガーコントロール52は、「走査ホットエリア」ボタン52である。
【0062】
いくつかの実施例において、ツールバーは、第3のトリガーコントロールを、さらに含む。第3のトリガーコントロールは、アクセシビリティの朗読情報、及び、アクセシビリティの操作可能な領域情報をトリガーして、表示させるコントロールである。
【0063】
ステップ408:第1のトリガーコントロールに対するトリガー操作に応答して、ターゲットプログラムのプログラムページにおけるページ要素に、アクセシビリティの朗読情報を表示する。
【0064】
いくつかの実施例において、第1のトリガーコントロール上のトリガー操作に応答して、ターゲットプログラムのプログラムページにおけるページ要素にアクセシビリティの朗読情報を表示する。
【0065】
当該トリガー操作は、シングルクリック操作、ダブルクリック操作、スライド操作、ジェスチャー操作、体感操作、圧力タッチ操作、両眼注視操作など、を含むが、これらに限定されない。
【0066】
ターゲットプログラムのプログラムページは、朗読情報を有する複数のページ要素(第1のページ要素に相当)を含み、全て又は一部のページ要素は、トリガーされた(例えば、クリック)後で、アクセシビリティの朗読情報を朗読する。
【0067】
アクセシビリティのテストモードで、アクセシビリティの朗読情報は、一般的に、テキストであるため、当該朗読情報を、テキストの形態で、ページ要素に表示する。ページ要素を一つずつクリックする必要がなく、複数のページ要素の朗読情報を同時に表示できる一方で、可視化したテキストによる表示は、直観であり、テスト効率を大幅に向上できる。
【0068】
概略的に、第1のトリガーコントロールに対するトリガー操作に応答して、ターゲットプログラムのプログラムページにおける各ページ要素に、第1のマーキングフレームを表示し、第1のマーキングフレームには、ページ要素の朗読情報が表示される。朗読情報を有するページ要素に対して、各ページ要素には、それぞれの第1のマーキングフレームが対応付けられ、即ち、朗読情報を有するページ要素は、第1のマーキングフレームに一々対応する。
【0069】
図7、
図8、
図9(
図7と
図8に対してフローティングオーバーレイを実行して、
図9を取得する)に示すように、「走査画面読み上げ」コントロール51がチェックされた後で、プログラムページに、各ページ要素のアクセシビリティの朗読情報53を追加して、表示する。概略的に、各ページ要素に、第1のマーキングフレームを追加し、第1のマーキングフレームに、現在ページ要素の朗読情報を表示する。例えば、ページ要素54に対して、相応する朗読情報は「画像」であり、また、例えば、ページ要素「サービスプラットフォーム」55に対して、相応する朗読情報は「サービスプラットフォーム」であり、さらに、例えば、ページ要素「検索ボックス」56に対して、相応する朗読情報は「検索、テキスト欄」であり、ここでは、贅言を要しない。
【0070】
任意選択で、第1のマーキングフレームの長さ・幅は、現在ページ要素のサイズに関連し、例えば、第1のマーキングフレームの長さ・幅は、現在ページ要素の長さ・幅以下である。任意選択で、第1のマーキングフレームの表示スタイルに対して、本出願は限定しない。例えば、第1のマーキングフレームを表示する場合、第1のマーキングフレームの下方にあるページ要素を遮蔽してもよく、第1のマーキングフレームは、不透明又は半透明である。
【0071】
任意選択で、第1のマーキングフレームに対する当選操作に応答して、第1のマーキングフレームの長さ・幅、及び/又は、第1のマーキングフレームの表示スタイルは変更する。当該当選操作は、タッチ操作、クリック操作、タッチホバリング操作など、を含むが、これらに限定されない。
【0072】
1つの例示において、第1のマーキングフレームは、デフォルトで半透明の形態であり、第1のマーキングフレームでタッチ信号、クリック信号、タッチホバリング信号などの信号を検知した場合に、第1のマーキングフレームは、不透明形態に切り替えられる。かつ/あるいは、第1のマーキングフレームは、デフォルトで、第1の長さ・幅の形態であり、第1のマーキングフレームでタッチ信号、クリック信号、タッチホバリング信号などの信号を検知した場合、第1のマーキングフレームは、第2の長さ・幅の形態に切り替えられ、第2の長さ・幅は、第1の長さ・幅よりも大きい。
【0073】
ステップ410:第2のトリガーコントロールに対するトリガー操作に応答して、ターゲットプログラムのプログラムページにおけるページ要素に、アクセシビリティの操作可能な領域情報を表示する。
【0074】
いくつかの実施例において、第2のトリガーコントロール上のトリガー操作に応答して、ターゲットプログラムのプログラムページにおけるページ要素に、アクセシビリティの操作可能な領域情報を表示する。
【0075】
当該トリガー操作は、シングルクリック操作、ダブルクリック操作、スライド操作、ジェスチャー操作、体感操作、圧力タッチ操作、両眼注視操作など、を含むが、これらに限定されない。
【0076】
ターゲットプログラムのプログラムページは、マンマシンインタラクション操作をサポートする複数のページ要素(第2のページ要素に相当)を含み、全て又は一部のページ要素は、トリガーされた(例えば、クリック)後で、アクセシビリティの操作可能な領域情報を表示する。ここで、同一のプログラムページで、第1のページ要素と第2のページ要素とは、必ずしも同様であるわけではなく、両者は、異なる可能性がある。
【0077】
アクセシビリティのテストモードで、アクセシビリティの操作可能な領域情報は、一般的に、テキストであるため、当該操作可能な領域情報を、テキストの形態で、ページ要素に表示する。ページ要素を一つずつクリックする必要がなく、複数のページ要素の操作可能な領域情報を同時に表示できる一方で、可視化したテキストによる表示は、直観であり、テスト効率を大幅に向上できる。
【0078】
概略的に、第2のトリガーコントロールに対するトリガー操作に応答して、ターゲットプログラムのプログラムページにおける各ページ要素に、第2のマーキングフレームを表示し、第2のマーキングフレームには、ページ要素の操作可能な領域情報が表示される。操作可能な領域情報を有するページ要素に対して、各ページ要素には、それぞれの第2のマーキングフレームが対応付けられ、即ち、操作可能な領域情報を有するページ要素は、第2のマーキングフレームに一々対応する。
【0079】
図10、
図11、
図12(
図10と
図11に対してフローティングオーバーレイを行って、
図12を取得する)に示すように、「走査ホットエリア」ボタン52がチェックされた後で、プログラムページに、全て又は一部のページ要素のアクセシビリティの操作可能な領域情報57を追加して、表示する。概略的に、各ページ要素に、第2のマーキングフレームを追加し、第2のマーキングフレームに、現在ページ要素の操作可能な領域情報を表示する。当該操作可能な領域情報に対して「長さ*幅」で示される。
【0080】
任意選択で、第2のマーキングフレームの長さ・幅は、現在ページ要素のサイズに関連し、例えば、第2のマーキングフレームの長さ・幅は、現在ページ要素の長さ・幅と同じか、又は、やや小さいか、もしくは、やや大きい。任意選択で、第2のマーキングフレームの表示スタイルに対して、本出願は限定しない。例えば、第2のマーキングフレームを表示する場合に、第2のマーキングフレームの下方にあるページ要素を遮蔽してもよく、第2のマーキングフレームは、不透明又は半透明である。
【0081】
任意選択で、第2のマーキングフレームに対する当選操作に応答して、第1のマーキングフレームの長さ・幅及び/又は第1のマーキングフレームの表示スタイルは変更する。当該当選操作は、タッチ操作、クリック操作、タッチホバリング操作など、を含むが、これらに限定されない。
【0082】
1つの例示において、第2のマーキングフレームは、デフォルトで、半透明の形態であり、第2のマーキングフレームで、タッチ信号、クリック信号、タッチホバリング信号などの信号を検知した場合に、第2のマーキングフレームは、不透明形態に切り替えられる。及び/又は、第2のマーキングフレームは、デフォルトで、第1の長さ・幅の形態であり、第2のマーキングフレームで、タッチ信号、クリック信号、タッチホバリング信号などの信号を検知した場合に、第2のマーキングフレームは、第2の長さ・幅の形態に切り替えられ、第2の長さ・幅は、第1の長さ・幅よりも大きい。
【0083】
ここで、いくつかの実施例において、第1のトリガーコントロール及び第2のトリガーコントロールに対するトリガー操作に応答して、ターゲットプログラムのプログラムページにおける各ページ要素に、混合マーキングフレームを表示し、混合マーキングフレームには、現在ページ要素の朗読情報及び操作可能な領域情報が表示される。当該混合マーキングフレームは、重ね合わせた第1のマーキングフレームおよび第2のマーキングフレームであってもよいし、第1のマーキングフレームと第2のマーキングフレームとを1つのマーキングフレームにマージしてもよい。
【0084】
図9に示すように、ツールバー50上の「走査ホットエリア」ボタン及び「走査画面読み上げ」ボタンは、何れもチェックされた後で、プログラムページに、全て又は一部のページ要素のアクセシビリティの操作可能な領域情報及び画面読み上げ情報58を追加して、表示する。概略的に、各ページ要素に混合マーキングフレームを追加し、混合マーキングフレームに、現在ページ要素の操作可能な領域情報及び朗読情報を表示する。
【0085】
いくつかの実施例において、第3のトリガーコントロールに対するトリガー操作に応答して、ターゲットプログラムのプログラムページにおける各ページ要素に、混合マーキングフレームを表示し、混合マーキングフレームには、現在ページ要素の朗読情報及び操作可能な領域情報が表示される。当該混合マーキングフレームは、重ね合わせた第1のマーキングフレームと第2のマーキングフレームであってもよいし、第1のマーキングフレームと第2のマーキングフレームとを1つのマーキングフレームにマージしてもよい。
【0086】
第1のトリガーコントロール、第2のトリガーコントロール、又は第3のトリガーコントロールによって、「走査画面読み上げ」及び/又は「走査ホットエリア」の機能をそれぞれ実現し、アクセシビリティモードが提供する機能に対する分類・可視化テストを実現する。
【0087】
以上のように、本実施例が提供する方法によれば、シミュレータにアクセシビリティモードを追加して、アクセシビリティモードで、アクセシビリティ関連のデザイン情報を、可視化情報の形態で、シミュレータのユーザーインターフェースに表示することで、可視化方式で、シミュレータにアクセシビリティのテストを直接的に実現でき、実際のユーザー端末で、ターゲットプログラムを実行させる必要がなく、大量のテストステップを節約して、テスト効率を向上する。
【0088】
図16は、本出願の1つの例示的な実施例が提供するターゲットプログラムのテスト方法のフローチャートである。当該方法は、端末に適用されるか、又は、端末によって実行される。当該方法は、以下のステップ502~516のうちの少なくとも1つを含む。
ステップ502:シミュレータのユーザーインターフェースを表示し、シミュレータには、ターゲットプログラムが読み込まれ、ユーザーインターフェースには、ターゲットプログラムのプログラムページが表示される。
【0089】
シミュレータは、ターゲットプログラムをシミュレーションして、実行させるプログラムツールである。例示的に、シミュレータは、個別のプログラム、又は、デベロッパーツールにおける1つの機能である。
【0090】
概略的に、デベロッパーツールは、シミュレータ、エディタ、デバッガ、可視化、及びクラウド開発などの機能を提供する。開発者は、デベロッパーツールにおいてシミュレータを起動させ、当該シミュレータを使用して、ターゲットプログラムを読み込む。
【0091】
端末はシミュレータのユーザーインターフェースを表示し、シミュレータには、ターゲットプログラムが読み込まれ、ユーザーインターフェースには、ターゲットプログラムのプログラムページが表示される。概略的に、当該プログラムページは、ターゲットプログラムのレンダーレイヤコードに基づいて、レンダリングすることで得られる。
【0092】
ステップ504:アクセシビリティモードの起動操作に応答して、シミュレータプラグインにおけるスクリプトをターゲットプログラムのレンダーレイヤコードに導入して、実行させ、シミュレータプラグインは、アクセシビリティモードの機能を提供する。
【0093】
シミュレータには、アクセシビリティモードが提供され、当該アクセシビリティモードは、オペレーティングシステムをシミュレーションして、バリアフリーモードを起動させた後で、ターゲットプログラムを実行させるモードである。当該アクセシビリティモードは、バリアフリーモード、バリアフリーデバッグモードなど、と呼ばれてもよい。
【0094】
シミュレータのユーザーインターフェースには、アクセシビリティモードのトリガー入口が表示され、当該トリガー入口は、メニューバー、機能ボタン、ジェスチャートリガー入口など、である。
図4を結合して、参照すると、シミュレータのユーザーインターフェースには、メニューバー50が提供される。当該メニューバー50のメニュー項目には、ミニプログラムモード42、プラグインモード44、及びアクセシビリティモード46が表示される。
【0095】
当該起動操作は、シングルクリック操作、ダブルクリック操作、スライド操作、ジェスチャー操作、体感操作、圧力タッチ操作、両眼注視操作など、を含むが、これらに限定されない。
【0096】
概略的に、ユーザーがアクセシビリティモード46をクリックした後で、シミュレータにおいて、アクセシビリティモードを起動させる。
【0097】
図17を結合して、参照すると、アクセシビリティモードは、デベロッパーツール60におけるプラグイン62を使用して実現する。ユーザーがアクセシビリティモードをクリックした後で、デベロッパーツール60は、当該プラグイン62のプラグインコードを読み取って実行し、当該プラグインには、スクリプト64が内蔵され、デベロッパーツールのプログラムインターフェースを介して、当該スクリプトをシミュレータ66で実行するターゲットプログラムのレンダーレイヤコードに挿入することで、当該プラグインが提供するアクセシビリティモード機能を実行する。
【0098】
ステップ506:スクリプトを導入した後で、ターゲットプログラムのプログラムページを改めてレンダリングする。
【0099】
ターゲットプログラムのプログラムページを改めてレンダリングする過程でも、当該スクリプトは実行される。当該スクリプトは、アクセシビリティモードのツールバーを提供する。
【0100】
ステップ508:シミュレータのユーザーインターフェースに、アクセシビリティモードのツールバーを表示し、ツールバーは、第1のトリガーコントロール及び/又は第2のトリガーコントロールを含む。
【0101】
図6に示すように、アクセシビリティモードを起動させた後で、シミュレータのユーザーインターフェースにアクセシビリティモードのツールバー50を追加して表示し、ツールバー50には、第1のトリガーコントロール51及び/又は第2のトリガーコントロール52が表示される。
【0102】
第1のトリガーコントロール51は、アクセシビリティの朗読情報をトリガーして、表示させるコントロールである。第2のトリガーコントロール52は、アクセシビリティの操作可能な領域情報をトリガーして、表示させるコントロールである。
【0103】
第1のトリガーコントロール51及び第2のトリガーコントロール52のコントロールタイプは、ボタン、チェックボックス、メニューバーなど、であってもよい。アクセシビリティの朗読情報は、通常、画面読み上げと呼ばれるため、第1のトリガーコントロール51は、「走査画面読み上げ」51であり、第2のトリガーコントロール52は、「走査ホットエリア」ボタン52である。
【0104】
いくつかの実施例において、ツールバーは、第3のトリガーコントロールをさらに含む。第3のトリガーコントロールは、アクセシビリティの朗読情報、及び、アクセシビリティの操作可能な領域情報をトリガーして、表示させるコントロールである。
【0105】
ステップ510:第1のトリガーコントロールに対するトリガー操作に応答して、ターゲットプログラムのプログラムページにおける各ページ要素のARIAラベルを読み取り、ARIAラベルには、ページ要素の朗読情報が記録される。
【0106】
いくつかの実施例において、第1のトリガーコントロール上のトリガー操作に応答して、ターゲットプログラムのプログラムページにおける各ページ要素のARIAラベルを読み取り、ARIAラベルには、ページ要素の朗読情報が記録される。
【0107】
当該トリガー操作は、シングルクリック操作、ダブルクリック操作、スライド操作、ジェスチャー操作、体感操作、圧力タッチ操作、両眼注視操作など、を含むが、これらに限定されない。
【0108】
ターゲットプログラムのプログラムページは、複数のページ要素を含み、全て又は一部のページ要素は、トリガーされた(例えば、クリック)後で、アクセシビリティの朗読情報を朗読する。
【0109】
全て又は一部のページ要素には、ARIAラベルがバインディングされ、当該ARIAラベル内には、ページ要素の朗読情報が記録される。
【0110】
ステップ512:各ページ要素のARIAラベルに基づいて、各ページ要素に、第1のマーキングフレームを表示する。
ARIAラベルが含まれるページ要素に対して、各ページ要素のARIAラベルに基づいて、各ページ要素の第1のマーキングフレームを生成する。
【0111】
概略的に、第1のトリガーコントロールに対するトリガー操作に応答して、ターゲットプログラムのプログラムページにおける各ページ要素に、第1のマーキングフレームを表示し、第1のマーキングフレームには、ページ要素の朗読情報が表示される。朗読情報を有するページ要素に対して、各ページ要素には、それぞれの第1のマーキングフレームが対応付けられ、即ち、朗読情報を有するページ要素は、第1のマーキングフレームにそれぞれ対応する。
【0112】
図7、
図8、
図9(
図7と
図8に対してフローティングオーバーレイを行って、
図9を取得する)に示すように、「走査画面読み上げ」コントロール51がチェックされた後で、プログラムページに、各ページ要素のアクセシビリティの朗読情報53を追加して、表示する。概略的に、各ページ要素に、第1のマーキングフレームを追加し、第1のマーキングフレームに、現在ページ要素の朗読情報を表示する。例えば、ページ要素54に対して、相応する朗読情報は「画像」であり、また、例えば、ページ要素「サービスプラットフォーム」55に対して、相応する朗読情報は「サービスプラットフォーム」であり、さらに、例えば、ページ要素「検索ボックス」56に対して、相応する朗読情報は「検索、テキスト欄」であり、ここでは、贅言を要しない。
【0113】
任意選択で、第1のマーキングフレームの長さ・幅は、現在ページ要素のサイズに関連し、例えば、第1のマーキングフレームの長さ・幅は、現在ページ要素の長さ・幅と同じか、又は、やや小さい、もしくは、やや大きい。第1のマーキングフレームを表示する場合、第1のマーキングフレームの下方にあるページ要素を遮蔽してもよく、第1のマーキングフレームは、不透明又は半透明である。
【0114】
1つの例示において、第1のマーキングフレームは、デフォルトで半透明の形態であり、第1のマーキングフレームでタッチ信号、クリック信号、タッチホバリング信号などの信号を検知した場合に、第1のマーキングフレームは、不透明形態に切り替えられる。及び/又は、第1のマーキングフレームは、デフォルトで第1の長さ・幅の形態であり、第1のマーキングフレームでタッチ信号、クリック信号、タッチホバリング信号など、の信号を検知した場合に、第1のマーキングフレームは、第2の長さ・幅の形態に切り替えられ、第2の長さ・幅は、第1の長さ・幅よりも大きい。
【0115】
各ページ要素のARIAラベルに基づいて、各ページ要素に、第1のマーキングフレームを表示することで、第1のマーキングフレームの表示の正確性を保証する。
【0116】
ステップ514:第2のトリガーコントロールに対するトリガー操作に応答して、ターゲットプログラムのプログラムページにおける、操作要素がバインディングされた各ページ要素、及び、各ページ要素の操作可能な領域情報を読み取る。
【0117】
いくつかの実施例において、第2のトリガーコントロール上のトリガー操作に応答して、ターゲットプログラムのプログラムページにおける、操作要素がバインディングされた各ページ要素、及び、各ページ要素の操作可能な領域情報を読み取る。
【0118】
当該トリガー操作は、シングルクリック操作、ダブルクリック操作、スライド操作、ジェスチャー操作、体感操作、圧力タッチ操作、両眼注視操作など、を含むが、これらに限定されない。
【0119】
ターゲットプログラムのプログラムページは、複数のページ要素を含み、全て又は一部のページ要素は、トリガーされた(例えば、クリック)後で、アクセシビリティの操作可能な領域情報を表示する。
【0120】
ステップ516:各ページ要素の操作可能な領域情報に基づいて、各ページ要素に、第2のマーキングフレームを表示する。
【0121】
アクセシビリティのテストモードで、アクセシビリティの操作可能な領域情報は、一般的に、テキストであるため、当該操作可能な領域情報をテキストの形態でページ要素に表示する。ページ要素を一つずつクリックする必要がなく、複数のページ要素の操作可能な領域情報を同時に表示できる一方、可視化したテキストによる表示は、直観であり、テスト効率を大幅に向上できる。
【0122】
概略的に、第2のトリガーコントロールに対するトリガー操作に応答して、ターゲットプログラムのプログラムページにおける各ページ要素に、第2のマーキングフレームを表示し、第2のマーキングフレームには、ページ要素の操作可能な領域情報が表示される。操作可能な領域情報を有するページ要素に対して、各ページ要素には、それぞれの第2のマーキングフレームが対応付けられ、即ち、操作可能な領域情報を有するページ要素は、第2のマーキングフレームにそれぞれ対応する。
【0123】
図10、
図11、
図12(
図10と
図11に対してフローティングオーバーレイを行って、
図12を取得する)に示すように、「走査ホットエリア」ボタン52がチェックされた後で、プログラムページに、全て又は一部のページ要素のアクセシビリティの操作可能な領域情報57を追加して表示する。概略的に、各ページ要素、に第2のマーキングフレームを追加し、第2のマーキングフレームに、現在ページ要素の操作可能な領域情報を表示する。当該操作可能な領域情報に対して「長さ*幅」で示される。
【0124】
任意選択で、第2のマーキングフレームの長さ・幅は、現在ページ要素のサイズに関連し、例えば、第2のマーキングフレームの長さ・幅は、現在ページ要素の長さ・幅と同じか、又は、やや小さい、もしくは、やや大きい。第2のマーキングフレームを表示する場合に、第2のマーキングフレームの下方にあるページ要素を遮蔽してもよく、第2のマーキングフレームは、不透明又は半透明である。
【0125】
1つの例示において、第2のマーキングフレームは、デフォルトで半透明の形態であり、第2のマーキングフレームでタッチ信号、クリック信号、タッチホバリング信号などの信号を検知した場合に、第2のマーキングフレームは、不透明形態に切り替えられる。及び/又は、第2のマーキングフレームは、デフォルトで第1の長さ・幅の形態であり、第2のマーキングフレームでタッチ信号、クリック信号、タッチホバリング信号など、の信号を検知した場合に、第2のマーキングフレームは、第2の長さ・幅の形態に切り替えられ、第2の長さ・幅は、第1の長さ・幅よりも大きい。
【0126】
各ページ要素の操作可能な領域情報に基づいて、各ページ要素に、第2のマーキングフレームを表示することで、第2のマーキングフレームの表示の正確性を保証する。
【0127】
ここで、いくつかの実施例において、第1のトリガーコントロール及び第2のトリガーコントロールに対するトリガー操作に応答して、ターゲットプログラムのプログラムページにおける各ページ要素に、混合マーキングフレームを表示し、混合マーキングフレームには、現在ページ要素の朗読情報及び操作可能な領域情報が表示される。
【0128】
図13、
図14、
図15(
図13と
図14に対してフローティングオーバーレイを行って、
図15を取得する)に示すように、ツールバー50上の「走査ホットエリア」ボタン及び「走査画面読み上げ」ボタンは、何れもチェックされた後で、プログラムページに全て又は一部のページ要素のアクセシビリティの操作可能な領域情報及び画面読み上げ情報58を追加して、表示する。概略的に、各ページ要素、に混合マーキングフレームを追加し、混合マーキングフレームに、現在ページ要素の操作可能な領域情報及び朗読情報を表示する。
【0129】
いくつかの実施例において、第3のトリガーコントロールに対するトリガー操作に応答して、ターゲットプログラムのプログラムページにおける各ページ要素に、混合マーキングフレームを表示し、混合マーキングフレームには、現在ページ要素の朗読情報及び操作可能な領域情報が表示される。
【0130】
以上のように、本実施例が提供する方法によれば、シミュレータにアクセシビリティモードを追加して、アクセシビリティモードで、アクセシビリティ関連のデザイン情報を可視化情報の形態で、シミュレータのユーザーインターフェースに表示することで、可視化方式で、シミュレータにアクセシビリティのテストを直接的に実現でき、実際のユーザー端末でターゲットプログラムを実行させる必要がなく、大量のテストステップを節約して、テスト効率を向上する。
【0131】
1つの例示において、
図18を結合して、参照すると、1.ユーザーは、デベロッパーツールでアクセシビリティモードに切り替える。2.デベロッパーツールは、アクセシビリティモードプラグインを呼び出し、プラグインコードを呼び出して、実行させる。3.デベロッパーツールにおけるシミュレータは、プラグインスクリプトをミニプログラムのレンダーレイヤに挿入し、シミュレータは、まず、ミニプログラムのレンダーレイヤのページ構造を取得して、レンダーレイヤのページ構造に、別のスクリプトページ要素を挿入し、当該スクリプトページ要素は「走査ホットエリア」及び「走査画面読み上げ」を表示し、そして、走査ホットエリア及び走査画面読み上げのイベント選択ロジックをそれぞれバインディングする。4.ユーザーは、「走査ホットエリア」をクリックする。5.スクリプトは、レンダーレイヤの全てのページ要素をトラバースして、ホットエリアを認識し、操作可能なページ要素(入力枠であって、クリックイベントのページ要素などがバインディングされる)を見つけて、これらのページ要素の幅・高さを取得する。6.スクリプトは、別の青枠を生成することで、ホットエリアページ要素を展示する。7.ユーザーは、「走査画面読み上げ」をクリックする。8.スクリプトは、同じくレンダーレイヤの全てのページ要素をトラバースして、アクセシビリティの朗読情報を認識する。9.スクリプトは、ページ要素の属性(例えば、ページ要素コンポーネント名称など)及びARIAラベルに付けられる追加情報を読み取り、最後に、別の赤枠を生成することで、画面読み上げコンテンツをマーキングする。
【0132】
1つのボタンのみを有する簡単なページを例とすると、当該ボタンには、1つのクリックイベントがバインディングされ、コードは、以下の通りであり、
〈button bindtap=”clickMe”〉クリックミー〈/button〉
スクリプトは、ボタンの実際のレンダリング情報を取得し、以下の通りである。
〈wx-button exparser:info-class-prefix=”“ exparser:info-component-id=”3” exparser:info-attr-bindtap=”clickMe” role=”button” aria-disabled=”false” wx:nodeid=”9”〉クリックミー〈/wx-button〉
【0133】
ユーザーが、「走査ホットエリア」を選択した後で、スクリプトは、当該ボタン構造をトラバースし、属性内には「exparser:info-attr-bindtap」が含まれると、当該ボタンには、1つのイベントがバインディングされ、単純な展示コンテンツではなく、操作可能なページ要素であることを意味する。従って、スクリプトは、当該ページ要素のスタイル(幅・高さ及び位置情報)を取得してから、同一位置に同じ幅・高さを有する青枠を生成して、当該ページ要素を囲んで、そして、左上隅にページ要素の幅及び高さを表示する。
【0134】
ユーザーが「走査画面読み上げ」を選択した後で、同じように、スクリプトは、当該ページ要素をトラバースし、それは、buttonラベルであり、その対応する意味は「ボタン」であり、当該ボタンのテキストは「クリックミー」であるため、朗読コンテンツは「クリックミー、ボタン」である。スクリプトは、当該ページ要素の画面読み上げコンテンツを記録して、ページ要素の幅・高さ及び位置情報を取得し、同じように、同一位置に、ボタンと同じ高さを有する赤枠を生成して、ボタンを囲んで、赤枠の左上隅に、画面読み上げのテキストコンテンツである「クリックミー、ボタン」を表示する。
【0135】
図19は、本出願の1つの例示的な実施例が提供する、ターゲットプログラムのテスト装置のブロック図である。前記装置は、
シミュレータのユーザーインターフェースを表示する表示モジュール1320であり、前記シミュレータには、前記ターゲットプログラムが読み込まれ、前記ユーザーインターフェースには、前記ターゲットプログラムのプログラムページが表示される、表示モジュール1320と、
アクセシビリティモードの起動操作に応答して、前記シミュレータで、前記アクセシビリティモードを起動させる、起動モジュール1340と、
前記アクセシビリティモードで、前記ターゲットプログラムのプログラムページにおけるページ要素に、アクセシビリティのデザイン情報を表示する、アクセシビリティテストモジュール1360と、を含む。
【0136】
1つの模式的な実施例において、前記アクセシビリティのアクセス情報は、アクセシビリティの朗読情報を含み、前記表示モジュール1320は、前記シミュレータのユーザーインターフェースに前記アクセシビリティモードのツールバーを表示し、前記ツールバーは、第1のトリガーコントロールを含み、前記アクセシビリティテストモジュール1360は、前記第1のトリガーコントロールに対するトリガー操作に応答して、前記ターゲットプログラムのプログラムページにおけるページ要素に、前記アクセシビリティの朗読情報を表示する。
【0137】
1つの模式的な実施例において、前記プログラムページには、朗読情報を有する少なくとも1つのページ要素が含まれ、
前記アクセシビリティテストモジュール1360は、前記第1のトリガーコントロール上のトリガー操作に応答して、前記ターゲットプログラムのプログラムページにおける全て又は一部のページ要素に、第1のマーキングフレームを表示し、前記第1のマーキングフレームには、前記ページ要素の朗読情報が表示される。
【0138】
1つの模式的な実施例において、前記アクセシビリティテストモジュール1360は前記第1のトリガーコントロール上のトリガー操作に応答して、前記ターゲットプログラムのプログラムページにおける各ページ要素のARIAラベルを読み取り、前記ARIAラベルには前記ページ要素の朗読情報が記録され、前記各ページ要素のARIAラベルに基づいて、前記各ページ要素に前記第1のマーキングフレームを表示する。
【0139】
1つの模式的な実施例において、前記アクセシビリティのアクセス情報は、アクセシビリティの操作可能な領域情報を含み、
前記表示モジュール1320は、前記シミュレータのユーザーインターフェースに、前記アクセシビリティモードのツールバーを表示し、前記ツールバーは、第2のトリガーコントロールを含み、前記アクセシビリティテストモジュール1360は、前記第2のトリガーコントロールに対するトリガー操作に応答して、前記ターゲットプログラムのプログラムページにおけるページ要素に、前記アクセシビリティの操作可能な領域情報を表示する。
【0140】
1つの模式的な実施例において、前記プログラムページには、マンマシンインタラクション操作をサポートする少なくとも1つのページ要素が含まれ、
前記アクセシビリティテストモジュール1360は、前記第2のトリガーコントロール上のトリガー操作に応答して、前記ターゲットプログラムのプログラムページにおける、全て又は一部のページ要素に第2のマーキングフレームを表示し、
前記第2のマーキングフレームには、前記ページ要素の操作可能な領域情報が表示される。
【0141】
1つの模式的な実施例において、前記アクセシビリティテストモジュール1360は、前記第2のトリガーコントロール上のトリガー操作に応答して、前記ターゲットプログラムのプログラムページにおける、操作要素がバインディングされた各ページ要素、及び、前記各ページ要素の操作可能な領域情報を読み取り、
前記各ページ要素の操作可能な領域情報に基づいて、前記各ページ要素に、前記第2のマーキングフレームを表示する。
【0142】
1つの模式的な実施例において、前記表示モジュール1320は、前記シミュレータのユーザーインターフェースに、前記アクセシビリティモードのツールバーを表示し、前記ツールバーは、第1のトリガーコントロール及び第2のトリガーコントロールを含み、
前記アクセシビリティテストモジュール1360は、前記第1のトリガーコントロール及び前記第2のトリガーコントロールに対するトリガー操作に応答して、前記ターゲットプログラムのプログラムページにおけるページ要素に、混合マーキングフレームを表示し、前記混合マーキングフレームには、前記アクセシビリティの操作可能な領域情報及び朗読情報が表示される。
【0143】
1つの模式的な実施例において、前記アクセシビリティテストモジュール1360は、アクセシビリティモードの起動操作に応答して、シミュレータプラグインにおけるスクリプトを前記ターゲットプログラムのレンダーレイヤコードに導入して、実行させ、前記シミュレータプラグインは、前記アクセシビリティモードの機能を提供し、前記スクリプトを導入した後で、前記ターゲットプログラムのプログラムページを改めてレンダリングする。
【0144】
1つの模式的な実施例において、前記ターゲットプログラムは、ウェブページプログラム及びミニプログラムのうちの少なくとも1つを含み、前記ミニプログラム、はホストプログラムに依存して、実行されるプログラムである。
【0145】
図20は、本出願の実施例が提供する、コンピュータ機器の構造概略図である。一般的に、コンピュータ機器1400は、プロセッサー1420及びメモリ1440を含む。
【0146】
プロセッサー1420は、1つ又は複数の処理コア、例えば、4コアプロセッサー、8コアプロセッサーなど、を含む。プロセッサー1420は、DSP(Digital Signal Processing、デジタル信号処理)、FPGA(Field-Programmable Gate Array、フィールドプログラマブルゲートアレイ)、PLA(Programmable Logic Array、プログラマブルロジックアレイ)のうちの少なくとも1つのハードウェア形態で実現されてもよい。プロセッサー1420は、ウェイクアップ状態でのデータを処理するプロセッサー、CPU(Central Processing Unit、中央演算処理装置)とも呼ばれるメインプロセッサーと、待機状態でのデータを処理する低電力消費プロセッサーであるコプロセッサーとをさらに含む。いくつかの実施例において、プロセッサー1420にはGPU(Graphics Processing Unit、グラフィックプロセッサー)が集積され、GPUは、ディスプレイの表示対象となるコンテンツのレンダリング及び描画を行う。いくつかの実施例において、プロセッサー1420は、AI(Artificial Intelligence、人工知能)プロセッサーを、さらに、含み、当該AIプロセッサーは、機械学習に関するコンピューティング操作を処理する。
【0147】
メモリ1440は、1つ又は複数のコンピュータ可読記憶媒体を含み、当該コンピュータ可読記憶媒体は、非一時的であってもよい。メモリ1440は、高速ランダムアクセスメモリ、及び、不揮発性メモリ、例えば、1つ又は複数の磁気ディスク記憶機器、フラッシュメモリ機器を、さらに含む。いくつかの実施例において、メモリ1440における非一時的コンピュータ可読記憶媒体は、少なくとも1つの指令を記憶し、当該少なくとも1つの指令はプロセッサー1420によって実行されることで、本出願の方法実施例が提供する方法を実現する。
【0148】
例示的な実施例は、コンピュータ可読記憶媒体をさらに提供し、前記コンピュータ可読記憶媒体には、少なくとも1つの指令、少なくとも1つのプログラム、コードセット、又は指令セットが記憶され、前記少なくとも1つの指令、前記少なくとも1つのプログラム、前記コードセット、又は指令セットは、プロセッサーによって読み込まれて、実行されることで、上記の各実施例が提供するターゲットプログラムのテスト方法を実現する。
【0149】
本出願は、コンピュータ可読記憶媒体をさらに提供する。前記記憶媒体には、少なくとも1つの指令、少なくとも1つのプログラム、コードセット又は指令セット、が記憶され、前記少なくとも1つの指令、前記少なくとも1つのプログラム、前記コードセット、又は指令セットは、前記プロセッサーによって、読み込まれて実行されることで、上記の方法実施例が提供するターゲットプログラムのテスト方法を実現する。
【0150】
任意選択で、本出願は、指令を含むコンピュータプログラム製品をさらに提供し、コンピュータ機器で実行されると、コンピュータ機器に、上記の各態様に記載のターゲットプログラムのテスト方法を実行させる。
【0151】
上記の本出願の実施例の番号は、実施例の優劣を代表するものではなく、説明のためのものに過ぎない。
【0152】
当業者であれば理解できるように、上記の実施例を実現するための全て又は一部のステップは、ハードウェアによって完成されてもよいし、プログラムを使用して、関連のハードウェアに命令することで完成されてもよい。前記プログラムは、コンピュータ可読記憶媒体に記憶され、以上に言及された記憶媒体は、読み取り専用メモリ、磁気ディスク、又は光ディスクなど、であってもよい。
【0153】
以上は、本出願の好適な実施例に過ぎず、本出願を限定する、ものではなく、本出願の精神及び原則内で完成した、任意の修正、均等な置換、改良などは、何れも本出願の保護範囲内に該当すべきである。
【国際調査報告】